我有一个Activity通过AlaramManager设置PendingIntent和一些内部,但正如我有时看到的,当我改变意图时,接收器仍然会使用一些额外的数据获得旧的意图,这可能会导致问题。
是否有可能以及如何避免这种情况?
抱歉找不到有关此案例的信息。 提前谢谢!
Intent intent = new Intent(context, PollingService.class);
intent.setAction(PollingService.ACTION_POLL);
pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, Constants.ALARM_TRIGGER_AT_TIME, Constants.ALARM_INTERVAL, pendingIntent);
答案 0 :(得分:1)
这是一个棘手的问题。根据我的理解,一些Intent对象可以是" Sticky"。允许他们在某些方面坚持下去。在这种情况下,我认为它不会杀死它们,因为它们使用的是系统服务,而不是来自应用程序中的活动或服务的东西。我会在命令提示符中使用adb uninstall(package name)命令从设备中完全删除您的应用程序。