一、所需权限
<!--请求安装APK的权限-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!--写如外部存储的权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--读取外部存储的权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!--网络权限-->
<uses-permission android:name="android.permission.INTERNET"/>
(1)读写外部存储的权限需要动态申请,详见:Android动态获取权限
(2)安装apk的权限从Android8.0开始需要每个应用独立开启
//跳转到开启apk安装权限开启的界面,让用户手动打开
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,Uri.parse("package:" +getPackageName()));
intentActivityResultLauncher.launch(intent);
二、代码实现
(1)注册provider
在AndroidManifest.xml中声明provider
(2)xml 文件
(3)执行代码