Сценарий:
У меня есть активность, которая выполняется на переднем плане. Через некоторое время экран автоматически заблокируется.
Позже я получаю новое намерение, которое требует, чтобы экран снова отображался независимо от экрана блокировки.
Как мне включить экран, когда это действие находится сразу за экраном блокировки (когда вы снова нажмете кнопку блокировки, вы увидите действие)
Я знаю только, как включить экран при запуске активности
@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);
}