安卓7.0 安装应用与截图设置FileProvider冲突
来源:互联网 发布:淘宝买东西怎么分期 编辑:程序博客网 时间:2024/06/06 04:29
在安卓7.0中不能和之前一样下载安装了
7.0之前: File apkFile = new File(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
context.startActivity(intent);
7.0:
//第二个参数要和清单文件中的authorities相对应Uri apkUri =FileProvider.getUriForFile(context, "(这里是自定义的,一般来说写包名).DownloadProvider", new File(file));Intent intent = new Intent(Intent.ACTION_VIEW);// 由于没有在Activity环境下启动Activity,设置下面的标签intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//添加这一句表示对目标应用临时授权该Uri所代表的文件intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);intent.setDataAndType(apkUri, "application/vnd.android.package-archive");context.startActivity(intent);
好了,重点来了,这里的DownloadProvider是个什么东西,很简单就是因为其中导了第三方的截图,已经存在了FileProvider,自己再写的时候就报错了,所以就自己写一个DownloadProvider类继承FileProvicer
public class DownloadProvider extends FileProvider {//里面什么也不用写}
在清单文件中添加
<provider android:name=".Controller.Sys.Provider.DownloadProvider" android:authorities="(这里是自定义的,一般来说写包名).DownloadProvider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_path"/> </provider>
file_path:这里要注意一下对应,就是下载的地址
<?xml version="1.0" encoding="utf-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android"> <paths> <!--对应getExternalCacheDir()--> <external-cache-path name="download" path=""/> </paths></resources>
这样下载的就可以使用了,而不会报错。
同理可得有了下载,在使用截图同样写一个CropProvider继承FileProvider就可以了,
需要使用多个FileProvider就写多少个继承FileProvider。
阅读全文
0 0
- 安卓7.0 安装应用与截图设置FileProvider冲突
- 安卓FileProvider
- 安卓ListView与ScrollView截图
- 完美解决主工程与lib库的FileProvider冲突
- android 7.0应用间共享文件----FileProvider
- 安卓7.0拍照权限,FileProvider的最清晰的使用
- 安卓应用主题/样式/格调设置与修改
- 安卓截图
- 使用CMD命令安装安卓APP以及获取截图
- 安卓应用的安装与卸载监听方法
- 应用组件的名字与已安装应用有冲突
- 关于Bugly版本兼容Android7.0 FileProvider与PhotoPicker冲突问题
- Android主工程与依赖库的FileProvider冲突的问题
- Android 7.0 适配-应用之间共享文件(FileProvider)
- Android 7.0 通过FileProvider实现应用间文件共享
- Android 7.0 应用间文件访问方法(FileProvider)
- Android N 7.0 应用间共享文件(FileProvider)
- Android 7.0 app升级内部安装apk—FileProvider使用
- h5项目如何打成war包
- java入门-构造函数和构造代码块功能
- summary about laysnc(little details)
- C语言超出类型数值范围的表示方法
- oracleday16
- 安卓7.0 安装应用与截图设置FileProvider冲突
- springmvc多个拦截器执行顺序及拦截器使用方法
- Constructing Roads (最小生成树)
- 【亲测】centos7下安装xmind
- LeetCode 191. Number of 1 Bits
- 第七十二:行人检测
- jQuery-倒计时(简单推荐)
- Git 常用命令速查表(图文+表格)
- MySQL如何实现强制查询走索引和强制查询不缓存