3

アクティビティを起動するサービスがあり、スクリーンセーバーがオンになっています。プログラムで Amazon Fire TV スクリーンセーバーを閉じるにはどうすればよいですか?

4

2 に答える 2

3

最初の部分はロック画面を閉じ、2 番目の部分はスクリーンセーバーを閉じます。ただし、これが Amazon Fire TV Screensaver で機能するかどうかはわかりませんが、試してみることはできます。

アクティビティの 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" />
于 2015-11-18T14:46:57.693 に答える
2
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() から呼び出しましたが、動作します

于 2015-11-18T15:31:00.813 に答える