Android使用Window Flags关闭屏幕

时间:2016-03-15 18:19:42

标签: java android

我一直试图关闭用户屏幕一段时间但没有运气。我试过这个:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

打开屏幕,然后

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

关闭屏幕。我也试过使用WakeLocker。正在通过简单的

从警报触发的BroadcastReceiver调用该活动
Intent i = new Intent(context.getApplicationContext(), WakeupActivity.class);
    context.startActivity(i);

我尝试了很多不同的解决方案,但无法解决这个问题。感谢

1 个答案:

答案 0 :(得分:0)

尝试将android:keepScreenOn =“true”添加到此活动的布局XML资源中的某个UI窗口小部件。因此,只要该小部件在屏幕上可见,屏幕就不会自动关闭。

注意:

正如其他答案所建议的那样,WakeLock在技术上会起作用。但是你必须手动释放WakeLock(如果你搞砸了,屏幕会长时间停留)。而且,既然你可能搞砸了,你需要WAKE_LOCK权限。使用keepScreenOn可以避免所有这些。

希望它适合你。