android-alarms - 当设备关闭并再次打开时,闹钟在 android 中不起作用

标签 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);                

最佳答案

警报将在重新启动时清除。

你能做的是

  • 将警报信息保留在 db 表中
  • 注册 REBOOT_COMPLETED -事件
  • 重新启动时,启动后台线程重新注册警报。确保正确计算闹钟时间。

  • 请参阅 API:“注册的警报在设备处于 sleep 状态时保留(并且可以选择在此期间唤醒设备,如果它们在此期间关闭),但如果关闭并重新启动,则将被清除。” - http://developer.android.com/reference/android/app/AlarmManager.html

    关于android-alarms - 当设备关闭并再次打开时,闹钟在 android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5616769/

    相关文章:

    android - android 4.0.3 上的小部件问题

    android - 如何注销与重复警报关联的 BroadcastReceiver?

    java - 我可以在 Android 中设置 AlarmManager 的结束时间吗?

    java - 什么时候使用 Android AlarmManager?

    android - 如何在 android 应用程序之外时提醒警报消息?

    flutter - 请问您在flutter中设置插件的约束是什么?

    android - 即使应用程序已关闭,如何每天在特定时间显示通知?

    android - 设置多个警报时仅触发一个警报

    android - 第 1 部分持久性前台 android 服务,由 UI 启动,也可在 sleep 模式下工作,也可在手机重启时启动

    android - 从 RAM 中清除应用程序时广播接收器不工作