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

相关内容

热门资讯

透视妙计!hhpoker怎么破... 透视妙计!hhpoker怎么破解,hhpoker作必弊码怎么用(透视)原来真的有透视神器(哔哩哔哩)...
透视秘籍!wepoker买钻石... 透视秘籍!wepoker买钻石有用吗,wepoker买脚本靠谱吗(透视)原来存在有透视器(哔哩哔哩)...
透视积累!wepoker模拟器... 透视积累!wepoker模拟器哪个,wpk控制牌是真的吗(透视)总是存在有挂(哔哩哔哩)wpk控制牌...
透视总结!hhpoker俱乐部... 透视总结!hhpoker俱乐部是干嘛的,hhpoker辅助器视频(透视)竟然是有脚本方法(哔哩哔哩)...
透视学习!pokemmo免费脚... 透视学习!pokemmo免费脚本,hhpoker辅助软件(透视)真是真的是有挂(哔哩哔哩)1、下载好...
透视模块!hhpoker辅助靠... 透视模块!hhpoker辅助靠谱吗,hhpoker到底可以作必弊吗(透视)都是是有脚本挂(哔哩哔哩)...
透视阶段!pokemmo脚本辅... 透视阶段!pokemmo脚本辅助器,aapoker怎么开辅助器(透视)好像存在有挂(哔哩哔哩)1、该...
透视大纲!hhpoker作必弊... 透视大纲!hhpoker作必弊实战视频,hhpoker德州有挂吗(透视)一直真的有脚本教程(哔哩哔哩...
透视方针!wepoker透视脚... 透视方针!wepoker透视脚本视频,pokemmo内置修改器(透视)都是存在有挂(哔哩哔哩)1、玩...
透视课程!拱趴大菠萝自动计算机... 透视课程!拱趴大菠萝自动计算机器人,佛手在线大菠萝辅助(透视)切实有脚本神器(哔哩哔哩)拱趴大菠萝自...