有没有办法在Android上使用FLAG_KEEP_SCREEN_ON限制屏幕开启的时间?

时间:2015-02-20 19:03:25

标签: android android-wake-lock

我不想使用WakeLock。 有没有一种简单的方法可以使用FLAG_KEEP_SCREEN_ON

来限制屏幕的开启时间

1 个答案:

答案 0 :(得分:2)

如果您在此处阅读文档:docs

比你看到你不需要照顾这个。 但你可以,见:

  

注意:除非您,否则无需清除FLAG_KEEP_SCREEN_ON标志   不再希望屏幕保持在正在运行的应用程序中(对于   例如,如果您希望屏幕在一段时间后超时   活动)。窗口管理器负责确保正确   当应用程序进入后台或返回时,会发生一些事情   前景。但是,如果你想明确地清除标志,从而   允许屏幕再次关闭,使用clearFlags():   getWindow()。clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)。

您可以将其与Handler上的Runnablepost delayed结合使用, 这是Android的方式,或使用TimerTask,这将是 更多Java方式。

示例:

    final long FIVE_MINUTES = 1000*60*5;
    Handler handler = new Handler();

    final Runnable r = new Runnable() {
        public void run() {
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        }
    };

    handler.postDelayed(r, FIVE_MINUTES);

希望它有所帮助。