jiahongfei / TodayStepCounter

Android计步模块(类似微信运动,支付宝计步,今日步数),记录当天从0点到23:59的步数
1.18k stars 241 forks source link

关于整天数据分隔的疑惑 #11

Closed niorgai closed 6 years ago

niorgai commented 6 years ago
  1. TodayStepCounterinitBroadcastReceiver() 方法, 注册了 Intent.ACTION_TIME_TICKIntent.ACTION_DATE_CHANGED , 但是 BroadcastReceiver 中判断的是 Intent.ACTION_TIME_CHANGED, 这里应该是下面写错了吧?
  2. Intent.ACTION_TIME_TICK 每分钟都判断是不是太频繁了, Intent.ACTION_DATE_CHANGED 是不是就可以了?
  3. Broadcast 和 StepAlertManagerUtils 中的 AlarmManager 会不会重复了? 是不是有一个存在就可以了?
jiahongfei commented 6 years ago

每分钟都判断确实太频繁了,但是为了保证不错只能这样了Intent.ACTION_DATE_CHANGED在某些时候好像是不好用,我记得当时查过相关资料,现在忘记了

niorgai commented 6 years ago

在 Pixel 2 XL 上测试, App 没有被杀掉的情况下 Intent.ACTION_DATE_CHANGED 是可以使用的. 另外如果开启了前台服务, 正常使用的情况下, 已经能够做到与支付宝计步结果一致.

只用到 Intent.ACTION_DATE_CHANGED 和 Sensor, 没有其他的