我已经实现了在给定时间触发警报的简单应用程序。一切都运转正常。
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);
但是当我设置闹钟并且我运行任务管理器并按“关闭所有任务”或“清除记忆”时。它也杀了我设定的警报。
如何用杀手,野蛮的任务经理保护我的警报:(
答案 0 :(得分:0)
你最不可能。
Android没有“关闭所有任务”或“清除内存”的任务管理器。据推测,您正在考虑设备附带的任务管理器。如果他们选择取消安排您的闹钟,那么您无能为力。在标准Android中,如果用户进入“设置”并单击应用程序上的“强制停止”,那么也会取消计划您的警报,并且您无法做任何事情。
您可以做的事情是在发生警报时记录,例如SharedPreference
。然后,当用户启动您的活动时,您可以检查您的日志。如果自上次录制事件以来已经太长时间了,您可以假设用户做了一些事情来取消计划您的闹钟,并且您可以重新安排它们。