通常一些第三方桌面类,或者第三方商城,游戏管理器等(非官方,没有静默卸载能力)的APP需要去安装或者卸载其他应用的场景,这里讲一下卸载非系统应用,代码如下:
/**
* 卸载应用
*/
public static void uninstallApp(Context context,String pkg) {
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:" + pkg));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
这段代码在Android 9以前是没有问题的,可以弹出系统的卸载对话框,点击卸载即可。
但是当系统版本高于Android 9的时候,这段代码不会报错,也不会弹框,现象就是没有任何现象。
通过查资料,Google对卸载应用增加了一个权限,在AndroidManifest.xml中添加即可,此权限为:
<!--适配9.0卸载问题-->
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>
没有此权限将不能卸载其他APP
网友评论