每次警报响起时,使用setExactAndAllowHileId()手动设置新警报:Android

每次警报响起时,使用setExactAndAllowHileId()手动设置新警报:Android,android,alarmmanager,android-doze,android-doze-and-standby,Android,Alarmmanager,Android Doze,Android Doze And Standby,我知道这已经被问过好几次了,但是我一直没有找到适合我的东西。 我正在使用setRepeating()来安排alarm manager每分钟运行一次。 然而,在Android 6.0打盹模式之后,这已经停止工作。我也尝试过使用setExactAndAllowHileIDLE(),但它似乎没有重复,因为它不是setexactRepeating 下面是我的代码 PendingIntent service; // A pending intent object Intent intentForServi

我知道这已经被问过好几次了,但是我一直没有找到适合我的东西。 我正在使用setRepeating()来安排alarm manager每分钟运行一次。 然而,在Android 6.0打盹模式之后,这已经停止工作。我也尝试过使用setExactAndAllowHileIDLE(),但它似乎没有重复,因为它不是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打电话。有没有办法做到这一点,即使手机进入深度睡眠或打盹模式。 我可以使用计时器或倒计时来完成这项工作吗?它们在打瞌睡模式下工作吗

我已经通过了很多链接,比如下面

然而,我仍然不能每分钟给我的服务打一次电话

我也尝试过使用alarmManager.setAlarmClock(),但仍然没有成功

我找到一个链接,上面写着:

“每次警报响起时,您都必须手动使用SetExactAndAllowHileId()设置新警报。但是,没有SetExactRepeatingAndAllowHileId()的原因是:这将缩短用户的电池寿命。只有在您确实需要时才使用此解决方法。”

当前一个警报关闭时,如何手动设置新警报? 拜托,有人能帮忙吗