如何检测android设备屏幕何时即将超时或“锁定”?

赫克托

我有一个android应用程序,需要检测屏幕何时锁定。
是否有可能发现屏幕将保持“解锁”状态多长时间?

梅赫迪·法奈(Mehdi Fanai)

您将需要注册一个广播接收者。当设备进入睡眠状态时,您的系统将发送广播。将以下代码放在任何需要的地方:

private BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(final Context context, final Intent intent) {
  //check if the broadcast is our desired one
  if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
//here define your method to be executed when screen is going to sleep

}};

您将需要注册您的接收者:

    IntentFilter regFilter = new IntentFilter();
// get device sleep evernt
regFilter .addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(receiver, regFilter );

ACTION_SCREEN_OFF屏幕关闭,但在发送ACTION_SCREEN_ON在屏幕转弯后发送。

更新:

1.方法1:据我所知,您无法在设备进入睡眠状态之前设置侦听器.PowerManager中没有此类侦听器。我想到的一个解决方案是从设置中获取设备超时,然后在您的应用中设置倒数计时器。每次用户触摸屏幕时,都应重置倒数计时。这样,您可以猜测设备进入睡眠状态的时间,然后在设备进入睡眠状态并运行所需的代码之前设置唤醒锁,然后禁用唤醒锁并使设备进入睡眠状态。

2.方法2:当设备进入睡眠状态时,将调用活动的inPause()方法。您可能可以在那里做一些代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

iOS如何以编程方式读取设备的屏幕自动锁定超时时间?

如何检测Android Wear设备何时断开连接?

如何锁定Android屏幕

如果脚本超时或在锁定打开时终止,PHP文件锁定会如何处理?

如何从脚本禁用屏幕锁定超时?

如何在Android的人像锁定屏幕中检测我的屏幕方向?

unity-如何检测屏幕是否被锁定?

检查Android用户的“设备何时被锁定”通知设置

如何检测何时通过USB网络共享连接了Android设备并获取其接口名称?

xubuntu 16.04:我如何使其在超时后自动锁定屏幕

如何检测用户何时因会话超时而注销?

Android设备屏幕锁定阻止了JNI方法调用

使用Delphi检测用户何时在Windows 7中锁定/解锁屏幕

React Native:如何检测设备锁定/解锁事件?

如何从锁定屏幕访问设备电池电量

Android-检测imageview或布局何时不显示屏幕

Android:屏幕锁定时如何启动活动

Android:屏幕锁定时如何运行服务?

如何检测BLE设备何时不在范围内?

如何以编程方式检测设备何时引发中断?

Xamarin表单检测屏幕是否处于活动状态和/或设备已锁定

Android虚拟设备检测到错误的屏幕尺寸?

在iPhone App中如何检测设备的屏幕分辨率

如何在Xamarin.Forms中检测设备的屏幕方向?

Android:如何检测已连接的USB设备?

如何锁定我的屏幕?

如何在Android中检测屏幕倾斜?

如何在Android中检测屏幕覆盖?

Android屏幕超时