按下按钮后,我开始卸载另一个应用程序,并且需要知道该应用程序的卸载是否成功,以便我可以相应地更新我的应用程序的 UI。
我已经写了一个收到的广播,但在我的 Activity 中我怎么知道应用程序是否被卸载了。
我的按钮按下代码:
if(planet.isChecked()){
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:"+planet.getPackageInfo().packageName));
startActivity(intent);
}
我的广播接收器:
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
Toast.makeText(context, " onReceive !!!! PACKAGE_REMOVED",
Toast.LENGTH_LONG).show();
}
最佳答案
您需要指定package
方案才能使用android.intent.action.PACKAGE_REMOVED
。 Here's a link对此进行了一些讨论。
另一种选择是稍等片刻,然后使用 getPackageInfo() 检查是否仍安装了已删除的包。 .您需要将调用包装在 try/catch 中;如果未安装,它将抛出 PackageManager.NameNotFoundException
。
关于android - Activity 与 BroadcastReceiver 的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29889296/