Android isScreenOn()在屏幕关闭时返回true

Android isScreenOn()在屏幕关闭时返回true,android,android-screen,Android,Android Screen,我试图检测屏幕是否关闭。尝试使用BroadcastReceiver,但未按预期工作 因此,我在onPause()中尝试了Power managerisScreenOn(),效果非常好。 但我注意到,当我按下电源按钮锁定屏幕,然后立即再次按下以解锁时,isScreenOn()返回true 你能帮我吗 我找不到解决这个问题的办法 代码如下: @Override public void onPause() { super.onPause(); //registBroadcastRece

我试图检测屏幕是否关闭。尝试使用
BroadcastReceiver
,但未按预期工作

因此,我在
onPause()
中尝试了Power manager
isScreenOn()
,效果非常好。 但我注意到,当我按下电源按钮锁定屏幕,然后立即再次按下以解锁时,
isScreenOn()
返回true

你能帮我吗

我找不到解决这个问题的办法

代码如下:

@Override
public void onPause() {
    super.onPause();
    //registBroadcastReceiver();

    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    boolean isScreenOn = powerManager.isScreenOn();

    if (!isScreenOn) {
        Log.d("Screen", "OFF");
        flag1 = true;
    }

}

根据Android开发者指南的链接:

不检查屏幕是否打开或关闭,而是检查它是否是交互式的

“此方法返回的值仅指示设备是否处于交互状态,这可能与屏幕的打开或关闭无关。要确定屏幕的实际状态,请使用getState()。”

请参阅:

isScreenOn()
此方法在API级别20中被弃用。改为使用isInteractive()


你的问题是什么?如果未调用isScreenOn(),则不能说它工作不正常。问题是,只有在一行中按两次电源按钮时,才会调用isScreenOn。您是否设法解决了此问题?无论哪种方式,屏幕都不是交互式的,它仍然返回True您是否调用isInteractive并发现它返回false?
isScreenOn()