我需要检测用户是否在场。我已经使用了带有Intent.ACTION_USER_PRESENT
的BroadcastReceiver但是在另一个类中我需要一个方法来实时检查(对于SDK> = 21)。你有什么建议怎么做吗?
例如,对于Intent.ACTION_SCREEN_ON
我正在使用它:
private boolean isScreenOn() {
DisplayManager displayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
for (Display display : displayManager.getDisplays()) {
if (display.getState() != Display.STATE_OFF) {
return true;
}
}
return false;
}
但我无法找到USER_PRESENT的相应方式。谢谢
答案 0 :(得分:0)
您已拥有ACTION_USER_PRESENT
和ACTION_SCREEN_ON
。
如果您将该状态存储为静态布尔值,则可以侦听ACTION_SCREEN_OFF
以重置它。
然后,您可以检查布尔值的状态以确定用户是否在场。但请记住,如果用户长时间超时,这可能并不理想。