0

我已经实现了在给定时间触发警报的简单应用程序。每件事都很好。

Myalarm m = new Myalarm(this);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 123, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + alarmtimeinmilliseconds, pendingIntent);

但是当我设置警报并且如果我运行任务管理器并按“关闭所有任务”或“清除内存”时。它也杀死了我设置的闹钟。

如何使用杀手,残酷的任务管理器保护我的警报:(

4

1 回答 1

0

你不能,很可能。

Android 没有“关闭所有任务”或“清除内存”的任务管理器。大概,您正在考虑设备附带的一些任务管理器。如果他们选择取消安排您的闹钟,您将无能为力。在标准的 Android 中,如果用户进入“设置”并在您的应用程序上单击“强制停止”,这也会取消您的闹钟安排,您对此无能为力。

可以做的是记录警报发生的时间,例如在SharedPreference. 然后,当用户启动您的活动时,您可以检查您的日志。如果距离上次记录事件的时间太长,您可以假设用户做了一些事情来取消安排您的警报,您可以重新安排它们。

于 2013-01-30T02:28:24.833 回答