Отключить заставку Amazon Fire TV программно

У меня есть служба, которая запускает действие, и заставка включена. Как я могу программно отключить заставку Amazon Fire TV?


person Duna    schedule 18.11.2015    source источник


Ответы (2)


Первая часть отключает экран блокировки, вторая часть закрывает заставку. Однако я не знаю, работает ли это с заставкой Amazon Fire TV, но вы можете попробовать.

Вызовите этот метод в методе onReceive или onCreate вашей активности.

private void wakeUpTheScreen()
 {
  Window win = getWindow();
  win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
  win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
 }

Я думаю, вам также нужно это разрешение, но я не уверен:

<uses-permission android:name="android.permission.WAKE_LOCK" />
person Erythrozyt    schedule 18.11.2015
comment
это не работает, это предотвращает отображение заставки, если приложение находится на переднем плане - person Duna; 18.11.2015

private void turnScreenOn(Activity act) {
    KeyguardManager km = (KeyguardManager) act.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
    final KeyguardManager.KeyguardLock kl = km.newKeyguardLock("MyKeyguardLock");
    kl.disableKeyguard();

    PowerManager powerManager = (PowerManager) act.getApplicationContext().getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
            | PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
    wakeLock.acquire();
} 

Я вызвал это из oncreate(), и это работает

person Duna    schedule 18.11.2015
comment
Это работает для меня, спасибо. - person ZhangXu; 07.12.2020