因为Android7.0以后权限改成了动态权限申请。但凡有在安卓开发中调用过fromFile函数的app肯定全部中招。我开发的app在调用系统程序(相机和升级)时就会利用外部存储器交换数据。未升级前一般是用
uri = Uri.fromFile(file); 可以完成外部存储器的读写。但是升到7.0后需要做如下的改进就可以填坑出来。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { //如果在Android7.0以上,使用FileProvider获取Uri
uri = FileProvider.getUriForFile(this,
"com.gougoucompany.clarence.cameraalbumtest.fileprovider", file);
} else {
uri = Uri.fromFile(file);
}
打开AndroidStudio的edit--find--find in path 可以搜索出所有fromFile的函数。全部替换吧
本文针对Android7.0及以上的动态权限申请问题,提供了从File到Uri的转换解决方案,通过使用FileProvider替代Uri.fromFile,确保了在高版本Android系统中应用能正常访问外部存储器。
2万+

被折叠的 条评论
为什么被折叠?



