我需要检测何时卸载我的应用程序。为此,我已经看到logcat发送出UNINSTALL_PACKAGE意图,并且我只是将其添加到了我现有的广播接收器中。但是它只是无法捕捉到它,而我正在听的其他意图TIME_TICK可以完美地工作。为什么?
当前使用的代码:
private IntentFilter intentFilter;
static {
intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
intentFilter.addAction(Intent.ACTION_UNINSTALL_PACKAGE);
}
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(Intent.ACTION_UNINSTALL_PACKAGE) {
Log.e("App", "Uninstalling");
} else if (action.equals(Intent.ACTION_TIME_TICK){
// this works
}
}
};
最佳答案
我需要检测何时卸载我的应用
出于明显的安全原因,没有支持的方法来执行此操作。
但这没抓住ACTION_UNINSTALL_PACKAGE
is an activity action。 Android设备上的任何内容都不应将其作为广播发送。因此,您不能通过BroadcastReceiver
收听它。