正如AlarmManager文档所述:
http://developer.android.com/reference/android/app/AlarmManager.html#RTC_WAKEUP
--这意味着,在某些情况下,一旦onReceive()方法完成,电话就会休眠。如果您的警报接收器名为Context.startService(),则可能在所请求的服务启动之前电话将休眠。为了防止这种情况,您的BroadcastReceiver和服务需要实现一个单独的唤醒锁定策略,以确保电话继续运行,直到服务可用为止。
从我在这里看到和读到的:http://www.androidguys.com/2009/04/02/wake-up-with-the-alarm/ https://github.com/commonsguy/cw-advandroid/blob/master/SystemServices/Alarm/src/com/commonsware/android/syssvc/alarm/WakefulIntentService.java
这些家伙通过(而不仅仅是)持有唤醒锁,直到变为可用为止。因此,我的问题是,如果没有通过运行服务的唤醒策略,服务会允许CPU睡觉吗?
发布于 2013-11-15 00:17:32
因此,我的问题是,如果服务没有在服务中运行唤醒策略,它会允许CPU睡觉吗?
当然了。想想一台笔记本电脑,当你闭上盖子时就睡着了(愚蠢的默认情况)。某些方法将被中断--它是当前运行的应用程序的main()方法。
https://stackoverflow.com/questions/6812172
复制相似问题