为什么ELAPSED_REALTIME的行为类似于ELAPSED_REALTIME_WAKEUP

问题描述 投票:0回答:1

码:

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。

谁能对此有所了解?代码或我的测试有问题吗?

android android-service android-widget android-alarms android-background
1个回答
0
投票

您的手机上还有其他应用程序正在按时唤醒它。如果手机因其他原因已经醒来,Android会让您的闹钟触发。

© www.soinside.com 2019 - 2024. All rights reserved.