如何确定是否已设置FLAG_KEEP_SCREEN_ON?

时间:2019-12-02 16:54:40

标签: android

我会根据某些条件锁定屏幕,然后在不再满足的条件后释放。有没有一种方法可以检查锁是否已经打开并且不重新设置?通过扩展,即使此锁已打开,再次设置该锁也有负面影响吗?

这是将其设置为打开的方法

`

        final Activity activity = themedContext.getCurrentActivity();
        if (activity != null) {
            activity.runOnUiThread(new Runnable() {
                @Override
                public void run() {    
                  activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                }
            });
        }

`

,这是一种将其设置为关闭的方法: `

        final Activity activity = themedContext.getCurrentActivity();
        if (activity != null) {
            Log.d("onVideoSizeChanged ", "screenOnLockRelease");
            activity.runOnUiThread(new Runnable() {
                @Override
                public void run() {   
                 activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                }
            });
        }

` themedContext-仅仅是应用上下文

我发现的唯一相关帖子:How to detect if FLAG_KEEP_SCREEN_ON has been set inside an Activity only?

但是当我使用以下命令检查属性时: WindowManager.LayoutParams attributes = getAttributes(); 我似乎无法从中获得标志。 我还不太精通JAVA,因此请明确答案。谢谢前进

0 个答案:

没有答案