Как включить дисплей при завершении приложения?

1

Я использую wakelock, чтобы держать дисплей включенным. Однако, когда приложение завершено, дисплей также отключается. Я хочу сохранить его после завершения приложения.

Что мне делать?

Теги:

3 ответа

2
Лучший ответ

То, что вы хотите сделать, это использовать флаг.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");
0

И как долго вам нужно, чтобы дисплей оставался? Просто на какое-то время или до тех пор, пока не произойдет какое-то событие?

0

Не отпускайте wakelock, когда приложение завершено. Вы можете запланировать событие в течение определенного периода времени, чтобы сохранить экран. Но, как правило, это плохая практика, так как проведение полной пауки может помешать не только экрану, но и другому оборудованию переходить в спящий режим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню