我正在寻找几天的解决方案。甚至可能没有解决方案。
发生的情况如下:我有一个应用程序,它为用户安排警报,让用户起床。警报“总是”响起非常重要。
为了能够让警报响起,我使用了 AlarmManager。这会安排在预定时间执行的意图。当应用程序使用返回/主页按钮打开或关闭时,这可以正常工作。
当我使用强制关闭选项关闭应用程序时,警报管理器警报会从系统中清除,并且不会响起。
我已经尝试过以下事情:
- START_STICKY 服务
- DefaultUncaughtExceptionHandler - 不起作用,因为没有捕获到强制关闭应用程序的异常。
- 广播接收器 - 问题在于警报被删除。
我想知道是否有人遇到过与 AlarmManager 类相同的问题,以及您是否找到了解决此问题的解决方案或替代方法。
ps 我正在创建这样的警报管理器警报:
Intent myIntent = new Intent(getApplicationContext(), CheckAlarmService.class);
PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(),
1, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getApplicationContext().getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
int daysTillAlarm = AlarmHelper.calculateDaysTillAlarm(alarm);
calendar.add(Calendar.DATE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 15);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
编辑:
为了尝试看看我是不是唯一一个遇到这个问题的人,我下载了一些使用良好的闹钟。他们似乎都有和我一样的行为。现在我会离开它。他们的评价也很好。
不过,如果您可能有解决此问题的方法,我想知道!