亲宝软件园·资讯

展开

Android调用应用安装

程序员子固 人气:0

今天来教大家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);
 
 
    }

总结

加载全部内容

相关教程
猜你喜欢
用户评论