Как сохранить устройство для Android спать при подключении
-
08-10-2019 - |
Вопрос
Я хотел бы держать экран, когда одна из моих действий работает, и телефон подключен к источнику питания. Я знаю, что 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
намерение Я не использовал их сам, поэтому может быть некоторое разрешение на приложение, которое вам нужно получить, прежде чем эти цели будут работать на самом деле.