设备关闭后再次开启时,警报在android中不起作用

que*_*ack 4 android-alarms

我设置了警报以提醒我在android中,当设备打开时它正在工作。但是,当我关闭设备并再次打开时,该提醒警报不起作用。你们能建议我如何解决这个问题吗?

我的代码看起来像这样,

Intent myIntent = new Intent(getApplicationContext(), serviceclass.class);
PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(),
    CONST+id, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);

Calendar calender = Calendar.getInstance();
calender.setTimeInMillis(System.currentTimeMillis());
calender.set(Calendar.HOUR_OF_DAY, hours);
calender.set(Calendar.MINUTE, ireminder.getMin());
calender.set(Calendar.SECOND, 0);
calender.set(Calendar.MILLISECOND, 0);  
calender.set(Calendar.DAY_OF_WEEK, day);

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,  

calender.getTimeInMillis(), 7 * AlarmManager.INTERVAL_DAY, pendingIntent);                
Run Code Online (Sandbox Code Playgroud)

Jör*_*örg 5

重启后告警将被清除。

你能做的是

  1. 将警报信息保留在数据库表中
  2. 注册REBOOT_COMPLETED-Event
  3. 重新启动后,启动后台线程重新注册警报。确保正确计算警报时间。

请参阅API:“设备处于睡眠状态时会保留已注册的警报(如果警报在这段时间内关闭,可以选择将其唤醒),但是如果将其关闭并重新启动,则将被清除。” - http://developer.android.com/reference/android/app/AlarmManager.html