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 managerisScreenOn()
,效果非常好。
但我注意到,当我按下电源按钮锁定屏幕,然后立即再次按下以解锁时,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()