当屏幕关闭时,isScreenOn()返回true



我正在尝试检测屏幕是否关闭。尝试使用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开发者指南的链接:http://developer.android.com/reference/android/os/PowerManager.html#isInteractive()

isScreenOn()

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

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

请参阅http://developer.android.com/reference/android/os/PowerManager.html:

isScreenOn()
此方法在API 20级中已弃用。请改用isInteractive()。

相关内容

  • 没有找到相关文章

最新更新