如何自行卸载应用程序?

问题是这个 – 我的应用获得管理员权限,从UI POV获取它们非常容易。 然而,一旦应用程序具有这些权限,卸载它是很麻烦的(用户必须首先撤销这些管理员权限;如果没有,卸载时没有信息卸载出现问题 – 至少在Ace 2 Android 2.3上)。

因此,在应用程序中安装卸载function会很有用 – 它会首先撤消管理员权限,然后按照正常卸载进行操作。

另一种方法是通知即将卸载的应用程序,但无法使用AFAIK – 请参阅: http : //code.google.com/p/android/issues/detail? can = 2&q = 33315&solpec = ID% 20Type%20Status%20Owner%20Summary%20Stars&ID = 33315

到目前为止,我只提出了解决方法 – 为了节省用户问题,如果应用程序已准备好卸载,请添加“清除卸载”按钮并显示状态信息。 但是,用户必须再次卸载我的应用程序。 无论如何麻烦。

那么 – 如何卸载自己?

只是为了保持SO站点上的代码:

Uri packageURI = Uri.parse("package:"+MyMainActivity.class.getPackage().getName()); Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); startActivity(uninstallIntent); 

代码是从Android Tales Blog复制的。

看看这几个问题(它们与安装/卸载有关)

卸载应用程序的隐含意图?

以编程方式安装/卸载APK(PackageManager vs Intents)