14

问题是——我的应用程序从 UI POV 获得管理员权限非常容易。但是,一旦应用程序拥有这些权限,卸载它就很麻烦(用户必须首先撤销这些管理员权限;如果没有,卸载时没有信息说明卸载出了什么问题——至少在 Ace 2 Android 2.3 上)。

因此,在应用程序中具有卸载功能会很有用——它会首先撤销管理员权限,然后进行正常卸载。

另一种方法是通知应用程序即将被卸载,但是 AFAIK 这是不可能的 - 请参阅:http ://code.google.com/p/android/issues/detail?can=2&q=33315&colspec=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复制的。

4

1 回答 1

5

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

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

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

于 2012-10-07T18:28:55.470 回答