jiahongfei / TodayStepCounter

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

咨询,有那些机型必须有一个后台服务,才可以计步。 #6

Open aheadlcx opened 6 years ago

aheadlcx commented 6 years ago

咨询,有那些机型必须有一个后台服务,才可以计步。看文档说,即使在挂起状态,也是可以计步的。想咨询一下,有那些机型是不行的,必须有一个后台服务在运行才可以计步的。

jiahongfei commented 6 years ago

目前来说我测试过的华为P9以上,m9以上,三星S7以上都是早上开启一下app就可以杀死程序计步的,其他的没有那么多手机没办法测试到。 通用做法就是让用户将App一直保存在后台运行,就一定不会出错

aheadlcx commented 6 years ago

有个活着的进程,当然好了。

  1. 但是这个存在浪费。
  2. 进程保活,你的demo中是给了个通知栏,这个体验有待商榷。
  3. 而且文档对这个传感器,说的是进程挂起的时候,也是可以工作的。
  4. 如果国产rom,魔改了,那就另说了。

想咨询一下,看你文章当中说,有些机型必须有一个后台服务,才可以计步,这个有没有实测过,某一款机型存在这个问题哦。

感谢你的分享了。

jiahongfei commented 6 years ago

android计步这个东西目前都是这么搞的,想要杀死程序还能计步跟系统有关系,像你说的什么通知栏啊,浪费资源啊,肯定都存在,不过没办法,想搞计步只能这样,你看咕咚,平安好医生,等有计步的 软件都是这样搞的

aheadlcx commented 6 years ago

的确是的,目前大部分都是这么处理的。

  1. 不过我这边测试了几台机器(OPPO R9S VIVI X9 华为等机型),没有发现,没有后台进程,就不能计步了。
  2. 弄个通知栏,非健康类应用,个人觉得是不适合的,产品能接受,个人都不能接受....

在市场调研的时候,发现的含有步数的APP,都弄了个通知栏和双进程。所以想确认一下,到底有没有一些机型没后台进程,就不给计步了。

jiahongfei commented 6 years ago

你的测试机都太高端了肯定没问题,我这边的联想x3c50,魅族,小米note4,都必须要后台的,通知栏这个是没办法,如果不是必须这样谁也不像这样啊 ,都是android系统不完善搞得

aheadlcx commented 6 years ago

我这边,非健康类应用,搞个通知栏,会影响用户,我用这个理由来说服产品了。要准确就给我白名单 ~ ~

jiahongfei commented 6 years ago

这个通知栏的目的是让Service在后台多呆一会,把它转换到前台startForeground(R.string.app_name, notification);,目的还是为了兼容那些必须自启动的手机,如果能做到Service在后台存活可以不用这个通知

aheadlcx commented 6 years ago

嗯,方便透露下,你家app名字么

chenxiaofei910714 commented 6 years ago

你这个Demo如果手动关掉App后,就不会计步了,不能APP关掉后,还可有一直计步?我用的是华为荣耀v8,x6机型测试的!

jiahongfei commented 6 years ago

可以啊荣耀V8没问题,估计是你设置有问题