请帮我找出屏幕状态的持续时间[(即)锁定到解锁持续时间]。是否有任何预定义的方法可以实现这一目标?
提前致谢..
我不知道这是否是您要查找的内容,但是您可以像这样阅读“屏幕超时”(以毫秒为单位):
android.provider.Settings.System.getInt(activity.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 0);
可以像这样设置“屏幕超时”:
android.provider.Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 30 * 1000); // 30 seconds
您的应用将需要以下权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
我不知道有一种预定义的方法可以在锁定时获取时间,但您可以监听设备锁定/解锁时触发的广播意图。有关注册意图,请参阅此问题:应出现锁屏时的 Android 启动意图
在您的广播接收器中,您可以跟踪锁定时经过的时间。
您可以启动一个服务,在屏幕锁定时启动计时器,在解锁屏幕时,您可以计算时间。我们为此提供了广播。或者,您也可以为此使用 AlarmManager。