android.os.FileUriExposedException: 在 android.os.StrictMode.onFileUriExposed 处发生了异常
创始人
2024-08-20 02:30:08
0

这个异常通常出现在 Android 7.0(API级别24)及更高版本上,由于对文件URI的访问限制更加严格导致的。下面是几种解决方法,你可以根据你的需求选择适合你的方法:

方法1:使用FileProvider

  1. 在你的AndroidManifest.xml文件中添加一个FileProvider的授权文件路径:

    

  1. 在res目录下创建一个xml文件夹,并在xml文件夹下创建一个file_paths.xml文件,内容如下:


    

  1. 修改你的代码,使用FileProvider生成文件URI:
Uri fileUri = FileProvider.getUriForFile(context, "your.package.name.fileprovider", file);

这样就可以避免FileUriExposedException异常。

方法2:使用Intent.FLAG_GRANT_READ_URI_PERMISSION标志

  1. 在你的Intent中添加FLAG_GRANT_READ_URI_PERMISSION标志:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

这样在启动Intent时,会授予对URI的读取权限,避免了FileUriExposedException异常。

方法3:使用StrictMode.disableDeathOnFileUriExposure()

  1. 在你的Application类的onCreate()方法中添加以下代码:
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();

这样可以禁用严格模式的文件URI暴露检测,但不推荐在生产环境中使用,因为这会降低应用的安全性。

请根据你的具体需求选择适合你的解决方法,并根据你的应用程序进行相应的修改。

相关内容

热门资讯

六分钟了解!上饶打炸辅助,We... 六分钟了解!上饶打炸辅助,WePoKer辅助器,细节揭秘(揭秘有挂);1、不需要AI权限,帮助你快速...
2024教程!欢乐茶馆辅助,德... 2024教程!欢乐茶馆辅助,德州hhpoker脚本,总结教程(确实有挂);1、2024教程!欢乐茶馆...
推荐十款!微乐小程序黑科技,w... 推荐十款!微乐小程序黑科技,wepoker怎么发冤家牌,高科技教程(有挂方法);1、微乐小程序黑科技...
免费测试版!决战十水三辅助,c... 免费测试版!决战十水三辅助,cloudpoker作弊,德州论坛(有人有挂);决战十水三辅助软件透明挂...
玩家必用!酷玩联盟辅助,哈糖大... 玩家必用!酷玩联盟辅助,哈糖大菠萝万能挂,解密教程(有挂技术);酷玩联盟辅助最新软件透明挂直接下载安...
推荐十款!开心十三张有没有挂,... 您好:开心十三张有没有挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
推荐一款!花城棋舍辅助,we-... 推荐一款!花城棋舍辅助,we-poker正规吗,玩家教你(的确有挂)是一款可以让一直输的玩家,快速成...
重大消息!牵手跑得软件,wep... 重大消息!牵手跑得软件,wepoker高级辅助,教你攻略(果真有挂);重大消息!牵手跑得软件,wep...
揭秘关于!欢乐对决辅助,hhp... 揭秘关于!欢乐对决辅助,hhpoker有后台操控吗,解说技巧(有挂讲解);揭秘关于!欢乐对决辅助,h...
玩家必看教程!白金岛跑胡子脚本... 玩家必看教程!白金岛跑胡子脚本,微扑克游戏辅助器,细节方法(有挂存在);1、玩家可以在白金岛跑胡子脚...