Как сохранить Android-устройство от сна, когда он подключен - PullRequest
3 голосов
/ 16 октября 2010

Я бы хотел, чтобы экран включался всякий раз, когда выполняется одно из моих занятий и телефон подключен к источнику питания. Я знаю, что Wakelocks хитры, поэтому я ищу пример или документацию о том, как достичь этой конкретной цели.

Ответы [ 2 ]

11 голосов
/ 17 октября 2010

Не используйте для этого wake-блокировки - просто установите и снимите флажок окна WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON в зависимости от того, подключено ли устройство в данный момент. Вы можете установить флаг с помощью Activity.getWindow().addFlags().

.код будет

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
4 голосов
/ 16 октября 2010

A WakeLock не так уж сложно, просто убедитесь, что оно не удерживается при вызове acquire(), и убедитесь, что удерживается при вызове release().Вы также хотите убедиться, что у вас есть разрешение android.permission.WAKE_LOCK, определенное в вашем файле манифеста.

Если вы хотите приобрести WakeLock только при подключенном телефоне, вы можете зарегистрировать BroadcastReceiver, который отслеживаетandroid.intent.action.ACTION_POWER_CONNECTED и android.intent.action.ACTION_POWER_DISCONNECTED намерения.Я сам ими не пользовался, поэтому может потребоваться какое-то разрешение на применение, прежде чем эти намерения сработают.

...