繁体   English   中英

在Android上使用FLAG_KEEP_SCREEN_ON是否可以限制屏幕打开的时间?

[英]Is there a way to limit the time the screen is on with FLAG_KEEP_SCREEN_ON on Android?

我不想使用WakeLock。 是否有使用FLAG_KEEP_SCREEN_ON限制屏幕打开时间的简单方法

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

比您看到的,您不必为此照顾。 但是您可以看到:

注意:您不需要清除FLAG_KEEP_SCREEN_ON标志,除非您不再希望屏幕停留在运行的应用程序中(例如,如果您希望屏幕在一段时间不活动后超时)。 窗口管理器负责确保当应用程序进入后台或返回到前台时,正确的事情发生。 但是,如果要显式清除该标志并从而允许屏幕再次关闭,请使用clearFlags():getWindow()。clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)。

您可以结合使用Runnable ,在Handler上延迟发布 (这是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);

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM