4

当用户单击按钮时,我将卸载应用程序。使用此代码:

Uri packageURI = Uri.parse("package:"
        + pkNames[position]);
Intent uninstallIntent = new Intent(
Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);

但某些应用程序无法卸载。像设置或音乐或...当我要卸载这些应用程序时,我看到:卸载不成功。

我使用以下代码获取我的包裹:

        Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        packages = pm.queryIntentActivities(mainIntent, 0);

如何检测应用程序是否可卸载?

4

1 回答 1

3

您应该检查您尝试卸载的应用程序是否是“系统”,方法是查看ApplicationInfo.flags. 系统应用程序已ApplicationInfo.FLAG_SYSTEM设置位。这是一小段代码:

boolean isSystem(ApplicationInfo info) {
   return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}

检查ApplicationInfo 类的文档以获取其他有用的标志。

于 2012-09-30T10:23:24.113 回答