EasyClick intent方式安装卸载APP
Posted Mr -老鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EasyClick intent方式安装卸载APP相关的知识,希望对你有一定的参考价值。
EasyClick intent方式安装卸载APP
通过跳转系统安装app页面和卸载页面实现
安装APK 指定路径
android 10 有限制, 只测试了7.0版本其他版本运行结果未知,自行测试
//例子
let apkPath = "file:///sdcard/Download/test.apk";
intentInstallAPK(apkPath);
/**
* 安装APP
* 作者:laogui,QQ:1156346325
* @param apkPath apk 路径
*/
function intentInstallAPK(apkPath) {
try {
importPackage(android.content);
importPackage(android.net);
importPackage(android.os);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
let builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
}
let uri = Uri.parse(apkPath);
let intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
sleep(1000);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
let builder = new StrictMode.VmPolicy.Builder();
builder.detectAll();
StrictMode.setVmPolicy(builder.build());
}
} catch (e) {
loge(e)
}
}
卸载APP 指定包名
/**
* 卸载APP
* 作者:laogui,QQ:1156346325
* @param pkgName 包名
*/
function intentUnstallAPK(pkgName) {
try {
importClass(android.content.Intent);
importClass(android.net.Uri);
let uri = Uri.parse("package:" + "luoyang.com.flutter_ly_app");
let intent = new Intent(Intent.ACTION_DELETE, uri);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (e) {
loge(e)
}
}
我是Mr-老鬼、QQ1156346325 。交流QQ群:620028786,647082990
------------------------------------------------版权声明------------------------------------------------------
本文版权所有~Mr-老鬼 ~转载请注明原文地址
免责声明:本文所有的教程仅限交流学习使用不得用于违法用途,造成的法律后果本人不承担责任。
以上是关于EasyClick intent方式安装卸载APP的主要内容,如果未能解决你的问题,请参考以下文章