我找到了两种保持屏幕的方法:
第一个更简单:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
第二个是使用唤醒锁并需要额外许可:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");
除了第二种方法实施起来更复杂并需要额外许可之外,这两种方法之间是否有任何真正的区别?最终结果总是一样吗?
答案 0 :(得分:22)
您应该看到Coding for (Battery) Life Google IO演示文稿,幻灯片16
如果您不想,那么:您可以在XML中为任何布局元素执行第一个,并且它是建议使用的(不知道将其应用于窗口,但可能是像唤醒者一样糟糕,dunno)。
<强> XML:强>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:keepScreenOn="true">
窗口标记:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);