4

我知道这已经被问过好几次了,但是直到现在我还没有找到适合我的东西。我正在使用 setRepeating() 来安排警报管理器每分钟运行一次。但是,在 Android 6.0 打盹模式之后,这已停止工作。我也尝试过使用 setExactAndAllowWhileIdle(),但它似乎没有重复,因为它不是 setexactRepeating。

下面是我的代码,

PendingIntent service; // A pending intent object
Intent intentForService = new Intent(
    context.getApplicationContext(),
    ServiceToUpdateWidget.class);
final AlarmManager alarmManager = (AlarmManager) context
    .getSystemService(Context.ALARM_SERVICE);
final AlarmManager.AlarmClockInfo alarmClockInfo = new AlarmManager.AlarmClockInfo(System.currentTimeMillis(), service);
final Calendar time = Calendar.getInstance();
time.set(Calendar.MINUTE, 0);
time.set(Calendar.SECOND, 0);
time.set(Calendar.MILLISECOND, 0);

if (service == null) {
    service = PendingIntent.getService(context, 0,
        intentForService, PendingIntent.FLAG_CANCEL_CURRENT);
}

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),60000, service);

我需要每分钟调用一次 ServiceToUpdateWidget。即使手机进入深度睡眠或打盹模式,有没有办法做到这一点。我可以为此使用计时器或倒计时吗?thry 会在打盹模式下工作吗?

我已经浏览了许多链接,如下所示,

但是,我仍然无法每分钟调用一次我的服务。

我也尝试过使用alarmManager.setAlarmClock(),仍然没有运气。

我找到了一个链接,上面写着:https ://www.reddit.com/r/androiddev/comments/40ci7v/how_to_set_the_repeating_alarm_which_will_work/

“每次闹钟响起时,您都必须手动设置新闹钟它。”

当以前的警报敌人关闭时,如何手动设置新警报?请问,有人可以帮忙吗?

4

0 回答 0