代码:
Intent intent = new Intent(context.getApplicationContext(), UpdateWidgetService.class);
PendingIntent service = PendingIntent.getService(context,
MyCode,
intent,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), iInterval, service);
该服务记录其活动。为了进行测试,我推动了Android设备进入睡眠状态。我几小时后唤醒设备检查日志,发现服务是根据睡眠期间的间隔运行的。我的理解是ELAPSED_REALTIME不会唤醒设备运行。换句话说,在这种情况下,ELAPSED_REALTIME的行为类似于唤醒设备以运行任务的ELAPSED_REALTIME_WAKEUP。
有人可以对此有所了解吗?代码或我的测试有问题吗?
答案 0 :(得分:0)
您的手机上还有其他正在运行的应用程序会定期唤醒它。如果手机因其他原因已经醒来,Android会触发您的闹钟。