这是我的代码
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:" + theApp.getAppOpen()));
startActivity(intent);
调用startActivity时,会出现一个默认提示,询问用户是否要卸载该应用。
如何判断用户是否说“ok”卸载应用程序? 假设我的应用程序不是正在卸载的应用程序。
答案 0 :(得分:3)
您有两种选择,您可能希望使用两者的组合:
1)为ACTION_PACKAGE_REMOVED
注册BroadcastReceiver
,一旦触发,您可以检查意图的data
,以查看您的包是否已被删除。添加一个类型的超时可能是明智的,可能通过将来五分钟的警报设置。
2)一旦用户从卸载或取消卸载返回,您的活动将恢复。您可以使用PackageManager.getPackageInfo()
或类似信息检查onResume()
中感兴趣的包是否仍然存在。注意:用户可能无法返回您的应用程序,在这种情况下,超时/警报建议将变得非常重要。
答案 1 :(得分:3)
我认为您可以使用" ACTION_UNINSTALL_PACKAGE"意图(API 14及更高版本),以便您可以检查卸载是否成功。
文档说:
活动操作:启动应用程序卸载程序。
输入:数据必须是包:方案特定部分为的URI 要卸载的当前已安装软件包的软件包名称。 您可以选择提供EXTRA_RETURN_RESULT。
输出:如果是EXTRA_RETURN_RESULT,则返回安装是否成功。
常量值:" android.intent.action.UNINSTALL_PACKAGE"
答案 2 :(得分:0)
可能已经晚了,但是您可以使用startActivityForResult(removeIntent, 0)
第一步,然后执行任何操作(无论是否卸载),都会调用onActivityResult
方法,因此,对于第二步,您可以签入onActivityResult
,此应用程序现在是否存在。请遵循此以获取第二步的更多详细信息:
[Check if application is installed - Android