如何自行卸载应用程序?

gre*_*man 14 android uninstall

问题是这个 - 我的应用获得管理员权限,从UI POV获取它们非常容易.然而,一旦应用程序有这些权利,很繁琐将其卸载(用户必须首先撤销这些管理权限;如果没有,在卸载时不存在什么信息与卸载走错了 - 至少在王牌2的Android 2.3).

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

另一种方法是通知应用程序是要卸载的程序,但据我所知这是不可能的-看到: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);
Run Code Online (Sandbox Code Playgroud)

代码是从Android Tales Blog复制的.