【发布时间】:2013-08-19 09:25:55
【问题描述】:
我这几天一直在寻找解决方案。甚至可能没有解决方案。
会发生以下情况: 我有一个应用程序,它为用户安排警报,让用户起床。警报“始终”响起非常重要。
为了能够让闹钟响起,我使用了 AlarmManager。这会安排在预定时间执行的意图。当应用程序使用返回/主页按钮打开或关闭时,这工作正常。
当我使用强制关闭选项关闭应用程序时,警报管理器警报会从系统中清除,并且不会响起。
我已经尝试了以下方法:
- START_STICKY 服务
- DefaultUncaughtExceptionHandler - 不起作用,因为没有捕获到强制关闭应用程序的异常。
- 广播接收器 - 问题在于警报被删除。
我想知道是否有人遇到过关于 AlarmManager 类的相同问题,以及您是否找到了解决此问题的解决方案或替代方法。
附言我正在创建这样的警报管理器警报:
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);
编辑:
为了试试看是不是只有我一个人有这个问题,我下载了一些很好用的闹钟。他们似乎都有和我一样的行为。现在我会离开它。他们的评价也很好。
如果你能解决这个问题,我想知道!
【问题讨论】:
-
我正在考虑同样的问题。它变得有问题,因为 kitkat 中存在一个错误,即使您开始粘贴它也不会重新启动服务。
标签: android alarmmanager