Intent.ACTION_SCREEN_OFF无法一直运行

时间:2015-11-28 11:59:17

标签: android broadcastreceiver

我想查看用户保持屏幕的时间。我正在使用广播接收器Intent.ACTION_USER_PRESENT和Intent.ACTION_SCREEN_OFF来计算持续时间。大部分时间代码运行良好,但有时我错了。

    public void onReceive(final Context context, final Intent intent) {

    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        //screen off sequence=0
    } else if ((intent.getAction().equals(Intent.ACTION_USER_PRESENT))) {
        //user is present sequence=2
    } else if ((intent.getAction().equals(Intent.ACTION_SCREEN_ON))) {
        //locked screen present but not unlocked yet sequence=1
    }
}

这是我的错误案例。在3到4之间应该有序列= 0但是错过了。
有没有理由错过屏幕从代码上方消失?

  1. sequence = 0 //屏幕关闭
  2. sequence = 1 //锁定屏幕
  3. sequence = 2 //用户在场
  4. sequence = 1 //锁定屏幕
  5. sequence = 2 //用户在场

0 个答案:

没有答案