如何将设备设置为睡眠模式

问题描述:

我正在做一个应用程序,我需要将Android设备设置为睡眠模式。如何将设备置于睡眠模式以及如何在设备处于睡眠模式时唤醒设备。如何将设备设置为睡眠模式

在此先感谢

如何把一个设备到睡眠模式

你不知道。您可以根据用户在“设置”中设置的偏好,在用户使用该设备时自动让设备入睡。

如何在设备处于睡眠模式时唤醒设备。

如果假定在某一时间醒来,使用AlarmManagergetBroadcast()PendingIntent。该设备将保持清醒状态足够长,以便拨打BroadcastReceiveronReceive()。一旦onReceive()返回,该设备可以睡着了。如果您的工作在onReceive()时间太长,您需要将该工作委托给其他组件(例如,IntentService)并使用WakeLock来保持设备清醒时间足够长,以便完成工作而不再是

+0

['PowerManager.goToSleep(long time)'](http://developer.android.com/reference/android/os/PowerManager.html#goToSleep(long))呢? – Jakar 2012-01-16 16:23:36

+0

@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

+0

我认为可能是这种情况。感谢澄清。 – Jakar 2012-01-16 19:20:34