Android 7.0 安装Apk时报错FileUriExposedException 解决

来源:互联网 发布:漫步者煲机软件 编辑:程序博客网 时间:2024/05/17 04:15

安装Apk时报错FileUriExposedException
1、AndroidManifest.xml写入

<provider           android:name="android.support.v4.content.FileProvider"           android:authorities="你的包名.fileprovider"           android:exported="false"           android:grantUriPermissions="true">           <meta-data               android:name="android.support.FILE_PROVIDER_PATHS"               android:resource="@xml/file_paths"/>       </provider>  

2、声明res/xml/file_paths
这里写图片描述

3、file_paths.xml添加内容

<?xml version="1.0" encoding="utf-8"?>  <paths>      <external-path path="Android/data/你的包名/" name="files_root" />      <external-path path="." name="external_storage_root" />  </paths>  

4、启动安装Intent,代码如下

public static void installApk(Context context, String fileName) {     Intent intent = new Intent(Intent.ACTION_VIEW);     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);        Uri contentUri = FileProvider.getUriForFile(context, "你的包名.fileprovider", new File(fileName));        intent.setDataAndType(contentUri, "application/vnd.android.package-archive");     } else {        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        intent.setDataAndType(Uri.parse("file://" + fileName),              "application/vnd.android.package-archive");     }     context.startActivity(intent);  }  
阅读全文
0 0