Android 7.0及以上利用FileProvider安装apk注意事项

Android 7.0及以上利用FileProvider安装apk一定要声明权限,避免当成未知应用被阻止安装

利用FileProvider安装apk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* 通过隐式意图调用系统安装程序安装apk
*/
Intent intent = new Intent(Intent.ACTION_VIEW);
//由于没有在Activity环境下启动Activity,设置下面的标签
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri fileUri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".fileProvider", appFile);
intent.setDataAndType(fileUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(appFile), "application/vnd.android.package-archive");
}
context.startActivity(intent);

声明权限,避免被当成未知应用被阻止安装

1
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :