我不知道我做错了什么。我安排了一个AlarmManager
,每10分钟触发一次警报。我使用ELAPSE_REAL_TIME
因为我不关心警报是否与实时同步。即使设备进入深度睡眠模式,警报也会触发,我无法理解原因。
以下是代码:
int minutes = 10;
if ( PendingIntent.getBroadcast( context, MyUtility.ALARM_UNIQUE_ID, i, PendingIntent.FLAG_NO_CREATE ) == null )
{
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast( context, 0, i, 0);
am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 1000 * 60 * minutes, pi);
}
预期的行为将是从现在开始每隔10分钟触发警报,直到设备进入深度睡眠模式,如果深度睡眠持续数小时(例如,当我在夜间进行飞行模式),警报将不会触发(直到早上好吗?