大家好,本篇文章主要讲的是Android调用应用安装界面方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
今天来教大家android如何跳转系统安装界面
1.首先给AndroidManifest.xml(清单配置文件)添加权限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
2.在res下创建一个xml包,用于后面给清单配置文件添加路径
3.在xml包下创建一个xml文件
<paths>
<external-files-path
name="external_storage_root"
path="."/>
</paths>
因为我这里软件安装包的位置我用的是外部存储(路径/storage/emulated/0/Android/data/包名/files/名字)所以我选择用external-files-path
其他存储路径的格式如下
(1)files-path:
对应物理路径:getFilesDir(
对应具体路径:/data/user/0/包名/files
(2)cache-path:
对应物理路径:getCacheDir()
对应具体路径:/data/user/0/包名/cache
(3)external-path:
对应物理路径:Environment.getExternalStorageDirectory()
对应具体路径:/storage/emulated/0
(4)external-files-path:
对应物理路径:getExternalFilesDir("名字")
对应具体路径:/storage/emulated/0/Android/data/包名/files/名字
(5)external-cache-path:
对应物理路径:getExternalCacheDir()
对应具体路径:/storage/emulated/0/Android/data/包名/cache
4.在AndroidManifest.xml(清单配置文件)添加配置
<provider
android:exported="false"
android:grantUriPermissions="true"
android:name="androidx.core.content.FileProvider"
android:authorities="起一个独特的名字.fileprovider">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"
/>
</provider>
5.在java文件添加隐式意图和权限代码
private void iniAPK() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // 7.0+以上版本
Uri apkUri = FileProvider.getUriForFile(this, "这是清单配置文件文件起的独特的名字.fileprovider", file);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
}
this.startActivity(intent);
}
总结
到此这篇关于Android调用应用安装界面方法的文章就介绍到这了,更多相关Android调用应用安装内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android调用应用安装界面方法


基础教程推荐
- android studio按钮监听的5种方法实例详解 2023-01-12
- Android中的webview监听每次URL变化实例 2023-01-23
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Flutter手势密码的实现示例(附demo) 2023-04-11
- Android多返回栈技术 2023-04-15
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- iOS开发教程之XLForm的基本使用方法 2023-05-01