问题是这个 - 我的应用获得管理员权限,从UI POV获取它们非常容易。然而,一旦应用程序具有这些权限,卸载它是很麻烦的(用户必须首先撤销这些管理员权限;如果没有,卸载时没有信息卸载出现问题 - 至少在Ace 2 Android 2.3上)。
因此,在应用程序中安装卸载功能会很有用 - 它会首先撤消管理员权限,然后按照正常卸载进行操作。
另一种方法是通知app即将被卸载,但是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复制的。
答案 0 :(得分:5)