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暴露检测,但不推荐在生产环境中使用,因为这会降低应用的安全性。

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

相关内容

热门资讯

黑科技了解!红龙扑克有外挂(德... 黑科技了解!红龙扑克有外挂(德州辅助神器软件)往昔有挂(真是有挂)-哔哩哔哩1、超多福利:超高返利,...
黑科技实锤!wepoke辅助挂... 黑科技实锤!wepoke辅助挂(德州ai人工智能)往昔存在有挂(有挂存在)-哔哩哔哩1、每一步都需要...
黑科技讲解!德扑之星有猫腻(w... 黑科技讲解!德扑之星有猫腻(wepoke有没有挂)确实是真的有挂(真的有挂)-哔哩哔哩1、快速入门:...
黑科技真的!德扑之星能看到底牌... 黑科技真的!德扑之星能看到底牌(wepoke辅助插件)原本真的有挂(有挂功能)-哔哩哔哩1、每个玩家...
黑科技代打!aapoker有外... 黑科技代打!aapoker有外挂(aapoker发牌机制)其实有挂(有挂秘籍)-哔哩哔哩;一、aap...
黑科技代打!来玩德州app有挂... 黑科技代打!来玩德州app有挂(aapoker真的有猫腻吗)一向是真的有挂(有挂技巧)-哔哩哔哩;小...
黑科技最新!来玩app辅助工具... 黑科技最新!来玩app辅助工具(德扑ai智能机器人)往昔存在有挂(有挂秘籍)-哔哩哔哩1、每个玩家都...
黑科技ai!微扑克ai辅助(德... 1、黑科技ai!微扑克ai辅助(德州辅助神器软件)好像有挂(有挂总结)-哔哩哔哩;代表性(透视辅助软...
黑科技美元局!德州ai辅助可以... 黑科技美元局!德州ai辅助可以打(德州ai辅助软件)起初存在有挂(有挂技巧)-哔哩哔哩是一款可以让一...
黑科技免费!poker辅助工具... 一、德州ai人工智能简介了解软件请加微:136704302德州ai人工智能是一款在线扑克游戏平台,玩...