Java 安卓M精确警报?

Java 安卓M精确警报?,java,android,alarmmanager,alarm,android-alarms,Java,Android,Alarmmanager,Alarm,Android Alarms,我最近把我的手机升级到安卓m,我正在尝试让我的闹钟应用程序工作。我一直使用set和setExact来安排我的闹钟,但现在在安卓m中,它们似乎已经过时了 我尝试过setExactAndAllowIdle和setAlarmClock,当闹钟设置为最长一个小时后,它们工作正常,但当我将闹钟设置为最长一个小时后(例如第二天早上),它们会被执行 如何在android m中实现相同的功能? 我的闹钟在下面 package com.lindev.newday.legacy; import android.a

我最近把我的手机升级到安卓m,我正在尝试让我的闹钟应用程序工作。我一直使用set和setExact来安排我的闹钟,但现在在安卓m中,它们似乎已经过时了

我尝试过setExactAndAllowIdle和setAlarmClock,当闹钟设置为最长一个小时后,它们工作正常,但当我将闹钟设置为最长一个小时后(例如第二天早上),它们会被执行

如何在android m中实现相同的功能? 我的闹钟在下面

package com.lindev.newday.legacy;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.os.Build;

public class NDLegacyAlarmHelper {

public static NDLegacyAlarmRegisterMethod RegisterAlarm(long time, PendingIntent pendingIntent, AlarmManager alarmManager)
{
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
    {
        //alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, time, pendingIntent);
        AlarmManager.AlarmClockInfo alarmClock = new AlarmManager.AlarmClockInfo(time, pendingIntent);
        alarmManager.setAlarmClock(alarmClock, pendingIntent);
        return NDLegacyAlarmRegisterMethod.setExactAndAllowWhileIdle;
    }
    else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    {
        alarmManager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent);
        return NDLegacyAlarmRegisterMethod.setExact;
    }
    else
    {
        alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
        return NDLegacyAlarmRegisterMethod.set;
    }
}
}