【发布时间】:2016-02-20 08:13:19
【问题描述】:
我有一个启动 Activity 的服务并且屏幕保护程序已打开。 如何以编程方式关闭 Amazon Fire TV 屏幕保护程序?
【问题讨论】:
标签: android screensaver amazon-fire-tv
我有一个启动 Activity 的服务并且屏幕保护程序已打开。 如何以编程方式关闭 Amazon Fire TV 屏幕保护程序?
【问题讨论】:
标签: android screensaver amazon-fire-tv
第一部分关闭锁屏,第二部分关闭屏幕保护程序。不过,我不知道这是否适用于 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" />
【讨论】:
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() 中调用了它,它可以工作
【讨论】: