当你使用 Intent.ACTION_DELETE 时,如何判断用户是否真的卸载了应用?

Rya*_*uza 3 android uninstallation android-package-managers

这是我的代码

Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:" + theApp.getAppOpen()));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

调用 startActivity 时,会出现一个默认提示,询问用户是否要卸载该应用程序。

如何判断用户是否说“确定”卸载应用程序?假设我的应用程序不是要卸载的应用程序。

323*_*3go 5

您有两个选项,您可能希望结合使用这两个选项:

1) 注册一个BroadcastReceiverfor ACTION_PACKAGE_REMOVED,一旦被解雇,你可以检查data意图的 ,看看你的包是否被删除。添加各种超时可能是明智的,可能通过设置未来五分钟的警报。

2) 一旦用户从卸载或取消卸载返回,您的活动将恢复。您可以检查感兴趣的包是否仍然存在于onResume()、 usingPackageManager.getPackageInfo()或 similar 中。注意:用户可能不会返回到您的应用程序,在这种情况下,超时/警报建议将变得很重要。