在我的Android应用程序中,我需要在某个特定时间显示通知。我将警报设置如下,但通知未在准确时间显示。相反,它会在闹钟设定时间后的随机时间显示。以下是我的代码......
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, uniqueCode, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
if (time != 0) {
int currentApiVersion = android.os.Build.VERSION.SDK_INT;
if (currentApiVersion <= 18) {
Log.d(TAG, "API <= 18");
alarmManager.set(AlarmManager.RTC, time, pendingIntent);
} else {
Log.d(TAG, "I am using Nexus 5 with lollipop and it comes here");
alarmManager.setExact(AlarmManager.RTC, time, pendingIntent);
}
我正在使用带棒棒糖的Nexus 5,并使用setExact()方法设置闹钟。它还没有按时执行......
请帮忙!
答案 0 :(得分:0)
尽管名称如此,setExact
并未在指定的时间触发警报,因为据我所知,出于节省电池的原因。要真正获得精确警报,请改用AlarmManager.setAlarmClock
。