如何将设备设置为睡眠模式
答
如何把一个设备到睡眠模式
你不知道。您可以根据用户在“设置”中设置的偏好,在用户使用该设备时自动让设备入睡。
如何在设备处于睡眠模式时唤醒设备。
如果假定在某一时间醒来,使用AlarmManager
与getBroadcast()
PendingIntent
。该设备将保持清醒状态足够长,以便拨打BroadcastReceiver
与onReceive()
。一旦onReceive()
返回,该设备可以睡着了。如果您的工作在onReceive()
时间太长,您需要将该工作委托给其他组件(例如,IntentService
)并使用WakeLock
来保持设备清醒时间足够长,以便完成工作而不再是 。
['PowerManager.goToSleep(long time)'](http://developer.android.com/reference/android/os/PowerManager.html#goToSleep(long))呢? – Jakar 2012-01-16 16:23:36
@Jakar:这受到普通SDK应用程序无法执行的权限('DEVICE_POWER')的保护。不幸的是,这个要求在JavaDocs中没有提到。请参阅http://stackoverflow.com/questions/5710971/android-what-permissions-required-to-call-powermanager-gotosleepn-put-device-i – CommonsWare 2012-01-16 16:25:02
我认为可能是这种情况。感谢澄清。 – Jakar 2012-01-16 19:20:34