Как сохранить устройство для Android спать при подключении

StackOverflow https://stackoverflow.com/questions/3949917

Вопрос

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

Это было полезно?

Решение

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

Так что код будет

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top