我会根据某些条件锁定屏幕,然后在不再满足的条件后释放。有没有一种方法可以检查锁是否已经打开并且不重新设置?通过扩展,即使此锁已打开,再次设置该锁也有负面影响吗?
这是将其设置为打开的方法
`
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,因此请明确答案。谢谢前进