安卓9:android.os.FileUriExposedException:
创始人
2024-09-01 17:00:52
0

在Android 9(API级别28)及更高版本中,为了提高应用程序的安全性,系统限制了应用程序在文件系统中访问其他应用程序的私有文件。这导致了在某些情况下,当使用旧的方式在应用程序中使用File URI时,会出现FileUriExposedException异常。

要解决这个问题,可以使用以下两种方法之一:

  1. 使用FileProvider:

    • 在你的应用程序的清单文件中添加一个FileProvider的声明,如下所示:
      
          ...
          
              
          
          ...
      
      
    • 创建一个XML文件(例如:res/xml/file_paths.xml),并定义文件的路径,如下所示:
      
          
      
      
    • 在你的代码中,使用FileProvider.getUriForFile()方法来获取文件的URI,例如:
      File file = new File(Environment.getExternalStorageDirectory(), "example.jpg");
      Uri fileUri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
      
  2. 使用Intent.FLAG_GRANT_READ_URI_PERMISSION标志:

    • 在你的Intent中添加FLAG_GRANT_READ_URI_PERMISSION标志,例如:
      Intent intent = new Intent(Intent.ACTION_VIEW);
      intent.setDataAndType(Uri.fromFile(file), "image/jpeg");
      intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
      

注意:如果你的应用程序使用了targetSdkVersion 24或更高版本,并且你正在使用了旧的方式在应用程序中使用File URI,那么你必须使用上述方法之一来解决这个问题。

相关内容

热门资讯

透视总结!约局吧透视挂下载(W... 透视总结!约局吧透视挂下载(WePoKer亲友圈)真是是真的有辅助脚本(哔哩哔哩)1、用户打开应用后...
透视机巧!hhpoker有后台... 透视机巧!hhpoker有后台操作吗(WePoKer线上)总是真的是有辅助神器(哔哩哔哩)hhpok...
透视积累!红龙poker辅助(... 透视积累!红龙poker辅助(透视)哈糖大菠萝攻略(辅助)真是有神器(哔哩哔哩)1、哈糖大菠萝攻略辅...
透视烘培!拱趴大菠萝挂哪里(W... 透视烘培!拱趴大菠萝挂哪里(WePoKer插件)其实存在有辅助教程(哔哩哔哩)透视烘培!拱趴大菠萝挂...
透视窍要!智星菠萝辅助(透视)... 透视窍要!智星菠萝辅助(透视)约局吧怎么看有没有挂(辅助)真是有软件(哔哩哔哩)1、不需要AI权限,...
透视练习!hhpoker透视脚... 透视练习!hhpoker透视脚本下载(HHpoker操作)原来有辅助方法(哔哩哔哩)1、hhpoke...
透视举措!竞技联盟透视(透视)... 透视举措!竞技联盟透视(透视)智星德州插件最新版本更新内容详解(辅助)其实一直都是有脚本(哔哩哔哩)...
透视窍门!aapoker怎么控... 透视窍门!aapoker怎么控制牌(WePoKer程序)一直是真的有辅助技巧(哔哩哔哩)1、aapo...
透视指引!hhpoker一直输... 透视指引!hhpoker一直输有挂吗(HHpoker方法)都是有辅助教程(哔哩哔哩)小薇(辅助器软件...
透视技法!pokemmo修改器... 透视技法!pokemmo修改器手机版(透视)佛手在线大菠萝智能辅助器(辅助)果然存在有攻略(哔哩哔哩...