android.os.FileUriExposedException:<filename>通过Intent.getData()暴露给应用程序之外。
创始人
2024-08-20 02:30:08
0次

Android 7.0及更高版本中,引入了FileUriExposedException异常,用于防止应用程序使用file:// URI暴露文件给其他应用。为了解决这个问题,可以使用FileProvider来生成content:// URI,以便在应用之间共享文件。

以下是一个解决方法的示例代码:

首先,在AndroidManifest.xml文件中添加FileProvider的声明:


    
        ...
        
            
        
    

然后,在res/xml目录下创建file_paths.xml文件,指定要共享的文件路径:



    

接下来,在需要共享文件的地方,使用FileProvider生成content:// URI,并将其传递给Intent:

// 获取文件的路径
File file = new File(filePath);
// 通过FileProvider生成content:// URI
Uri fileUri = FileProvider.getUriForFile(context, "com.example.myapp.fileprovider", file);

// 将content:// URI传递给Intent
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);

注意:在使用Intent传递content:// URI时,需要为Intent添加FLAG_GRANT_READ_URI_PERMISSION标志,以授予接收方应用程序对该URI的读取权限。

这样就可以避免android.os.FileUriExposedException异常,并安全地共享文件给其他应用程序。

相关内容

热门资讯

指导大家开挂!超稳大厅辅助透视... 指导大家开挂!超稳大厅辅助透视挂,金雀汇是有外挂,一贯有挂教程1、超稳大厅辅助器安装包、超稳大厅辅助...
据了解辅助!湖南跑胡子辅助透视... 据了解辅助!湖南跑胡子辅助透视挂,皮皮四川麻将至尊版真的是有外挂,切实有挂秘诀皮皮四川麻将至尊版辅助...
反观透视挂!怡可多辅助透视挂,... 反观透视挂!怡可多辅助透视挂,小氪新能源是有外挂,总是今日头条该软件可以轻松地帮助玩家将小氪新能源外...
推荐十款透视挂!静心辅助透视挂... 推荐十款透视挂!静心辅助透视挂,欢乐卡五星存在有外挂,真是有挂秘诀1、让任何用户在无需欢乐安装教程第...
为了进一步透视挂!新大海互娱辅... 为了进一步透视挂!新大海互娱辅助透视挂,蚌埠玩确实有外挂,一贯的确有挂1、该软件可以轻松地帮助玩家将...
解密关于开挂!6人拼三张辅助透... 解密关于开挂!6人拼三张辅助透视挂,小猪对对碰是真的有外挂,确实真的有挂1)小猪对对碰免费钻石:进一...
备受关注的透视挂!万年互游辅助... 备受关注的透视挂!万年互游辅助透视挂,上游炸金花是有外挂,一直有挂秘诀1、进入游戏-大厅左侧-新手福...
重大通报开挂!九酷众娱辅助透视... 重大通报开挂!九酷众娱辅助透视挂,来来灯塔麻将存在有外挂,果然有挂教学1、这是跨平台的九酷众娱轻量版...
玩家必看科普辅助!微乐卡五星辅... 玩家必看科普辅助!微乐卡五星辅助透视挂,神皇是有外挂,切实讲解有挂1、微乐卡五星公共底牌简单,微乐卡...
分享一款辅助!福来辅助透视挂,... 分享一款辅助!福来辅助透视挂,潮乐乐存在有外挂,一贯新版有挂1、玩家可以在福来透视最简单三个步骤对游...