Я использую wakelock, чтобы держать дисплей включенным. Однако, когда приложение завершено, дисплей также отключается. Я хочу сохранить его после завершения приложения.
Что мне делать?
То, что вы хотите сделать, это использовать флаг.On_AFTER_RELEASE, см. Ниже.
PowerManager pm;
PowerManager.WakeLock wakeLock;
// Put the next 5 lines in a method that is called when you want to acquire a wakelock //or in the OnREceive() of a broadcast receiver.'
PowerManager pm = (PowerManager)
context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(
pm.ON_AFTER_RELEASE|pm.SCREEN_DIM_WAKE_LOCK, "My wakelook");
wakeLock.acquire();
...Do Stuff here
//Override the onDestroy of your activity to release the wakelock when it is destroyed.
@Override
protected void onDestroy() {
super.onDestroy();
wakelock.release;
}
Это приведет к тому, что экран загорится, как если бы кто-то взаимодействовал с устройством (нажал кнопку питания, коснулся экрана и т.д.) Сразу же, когда вы освободите wakelock. В этот момент произойдет нормальное понижение мощности, если дальнейшее взаимодействие с устройством отсутствует (экран становится тусклым, а затем он темнеть).
я
Дайте мне знать, если это поможет.
Спасибо
****************** Добавлен *************
Если вы хотите разбудить телефон после того, как экран потемнеет, вы можете создать свой wakelock со следующими флагами. Это хорошо, если у вас есть широковещательный приемник и вы хотите включить экран при возникновении события, чтобы пользователь мог сразу увидеть пользовательский интерфейс (уведомление, тост, макет и т.д.).
PowerManager.WakeLock wakeLock = pm.newWakeLock(
pm.ACQUIRE_CAUSES_WAKEUP|pm.ON_AFTER_RELEASE|pm.SCREEN_DIM_WAKE_LOCK, "My wakelook");
И как долго вам нужно, чтобы дисплей оставался? Просто на какое-то время или до тех пор, пока не произойдет какое-то событие?
Не отпускайте wakelock, когда приложение завершено. Вы можете запланировать событие в течение определенного периода времени, чтобы сохранить экран. Но, как правило, это плохая практика, так как проведение полной пауки может помешать не только экрану, но и другому оборудованию переходить в спящий режим.