安卓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,那么你必须使用上述方法之一来解决这个问题。

相关内容

热门资讯

透视窍要!xpoker辅助怎么... 透视窍要!xpoker辅助怎么用(德普之星开辅助)一直真的有辅助软件(哔哩哔哩)xpoker辅助怎么...
据悉!德州局透视脚本(透视)微... 据悉!德州局透视脚本(透视)微乐四川亲友圈辅助器(竟然真的是有辅助攻略)-哔哩哔哩1、德州局透视脚本...
透视烘培!wepoker买脚本... 透视烘培!wepoker买脚本靠谱吗(WPK辅助器)一直真的有辅助神器(哔哩哔哩)1、起透看视 we...
教学辅助挂!wepoker辅助... 教学辅助挂!wepoker辅助器安装包定制(透视)微信微乐辅助器使用教程(一直是真的辅助脚本)-哔哩...
透视模块!wepoker的辅助... 透视模块!wepoker的辅助器(WePoKer永久)确实真的是有辅助脚本(哔哩哔哩)1、wepok...
刚刚!hhpoker有后台操作... 刚刚!hhpoker有后台操作吗(透视)万能透视辅助器免费版(切实是真的辅助教程)-哔哩哔哩该软件可...
透视课程!wepoker有透视... 透视课程!wepoker有透视功能吗(HHpoker教程)一贯是真的有辅助技巧(哔哩哔哩)1、下载好...
复盘辅助挂!哈糖大菠萝辅助器(... 复盘辅助挂!哈糖大菠萝辅助器(透视)微乐脚本(真是存在有辅助插件)-哔哩哔哩1、进入游戏-大厅左侧-...
透视方式!wepoker辅助工... 透视方式!wepoker辅助工具(WePoKer设置)本来存在有辅助app(哔哩哔哩)1.wepok...
现有说明如下!wepoker透... 现有说明如下!wepoker透视脚本(透视)微乐游戏小程序辅助器免费苹果版(竟然有辅助脚本)-哔哩哔...