Как снова включить экран после блокировки экрана пользователя, когда активность находится на переднем плане

Сценарий:

У меня есть активность, которая выполняется на переднем плане. Через некоторое время экран автоматически заблокируется.

Позже я получаю новое намерение, которое требует, чтобы экран снова отображался независимо от экрана блокировки.

Как мне включить экран, когда это действие находится сразу за экраном блокировки (когда вы снова нажмете кнопку блокировки, вы увидите действие)

Я знаю только, как включить экран при запуске активности

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // make incoming call show on locked screen
    getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
                    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}

Теперь я хочу включить экран после того, как активность уже была создана, но была в фоновом режиме после onStop()..

Я пробовал следующее, но это не работает:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    handleCallingIntent(intent);

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    final PowerManager.WakeLock wl = pm.newWakeLock(
            PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "Incoming Call");
    wl.acquire();
    mDismissButton.postDelayed(new Runnable() {
        @Override
        public void run() {
            // just to test if screen will be on for 10s
            wl.release();
        }
    }, 10000L);
}

person xialin    schedule 15.09.2015    source источник


Ответы (1)


Вы должны изменить яркость экрана всякий раз, когда активность находится на переднем плане.

WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0;
getWindow().setAttributes(params);

Кроме того, вы можете установить значение яркости на -1/1 для дополнительных функций яркости.

person atifali    schedule 15.09.2015
comment
Я вас не понимаю... вы пытаетесь затемнить экран, не так ли? установив яркость на ноль... Я хочу показать экран с экрана блокировки - person xialin; 15.09.2015