Android 计步模块(读取三星S健康步数)

这是计步模块第二篇,第一篇详细介绍了使用Android SDK自带的计步传感器加速度传感器进行计步。
第一篇介绍计步传感器Sensor.TYPE_STEP_COUNTER可以在App关闭的时候继续计步,但是在有些手机上不适用研究到这已经有种想死感觉了和Android系统做斗争真的太难了。
公司最新引进一批测试机SamSung GALAXY C7,在App关闭的情况下计步传感器是不能计步的需要保持后台Service,但是现在的手机系统基本不要想保持后台进程被杀死就是时间问题,但是三星自带的S健康模块是系统级的可以拿到步数、心率等等很多信息非常全面,最主要的他是系统级App有系统进程且现在新款的三星手机都会有这个S健康模块,换句话说他的步数是最准确的而且新款手机都会有,如果能获取他的数据那三星手机计步问题基本解决80%以上了。
项目地址:https://github.com/jiahongfei/TodayStepCounter
第一篇地址://www.greatytc.com/p/ca1e1c3ac086

获取S键康数据需要的前提条件如下两部分:

第一部分
  1. Android手机系统版本最低需要4.4 KitKat (API level 19)
  2. 三星健康app版本最低4.0,才支持sdk开发。
  3. 是否是Samsung health的合作伙伴app。(如果不是后面介绍测试环境)
第二部分

上面如果你还没有申请 partner app 或者在三星批准之前,三星健康app可以切换到Developer模式用来对你开发的app进行测试。默认情况下是未开启的,需要你进行开启,操作如下:

  1. 找到三星自带的S键康(三星健康)打开。
  2. 右上角更多->设置
  3. 设置->关于三星健康
  4. 连续点击10次版本号,例如“SM-G9300版本5.9.1.003”点击10次
  5. 如果开启成功,版本号显示成** "(Developer Mode)"**开头形式的版本号,如下图开启成功页面
    image.png

如上准备工作都没问题了我们接下来开始获取S健康的步数数据:

第一步下载SDK和Sample app或者我的开源项目.
网址http://developer.samsung.com/health

F06DE28A-BFC5-4F63-9538-4C49DA7FAF50.png

第二步AndroidStudio打开SimpleHealth运行到手机上(不支持模拟器)。如果没有获取到S健康的步数查看logcat会报如下错误

image.png

这个错误的意思大概是,当前这个app没有在白名单上注册。也就是说app没有和SamSung Health不是合作关系,需要apply for partner apps(申请合作)。出现这个问题就是上面准备工作的第二部分没有做好,三星健康app不是开发模式,重新设置一下。

第三步后台关闭SimpleHealth进程,再次打开会提示如下对话框

image.png

对读取步数进行授权之后就可以读取S健康的步数了如下图
image.png

我的开源项目需要在三星S健康中设置:

  1. 打开三星健康->右上角更多->点击设置
  2. 找到数据权限进入
  3. 找到你的App进入可以设置获取三星健康的权限

SimpleHealth代码我在这里就不做分析了,非常简单。

我将SimpleHealth代码整合到我的开源项目中,可以下载然后按照以上的配置进行配置就可以获取步数了
项目地址:https://github.com/jiahongfei/TodayStepCounter

参考文献
http://developer.samsung.com/health
http://developer.samsung.com/health/data/guide#hello-health-data

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • 最近在项目中研究计步模块,主要功能记录当天步数,类似微信运动,支付宝计步,咕咚今日步数。开发之前的调研工作,搜遍b...
    码农一颗颗阅读 32,767评论 37 111
  • 本篇文章是计步模块第一版V1.0.0,在运行一段时间发现用户投诉很多,计步有时不准确。 对计步模块进行优化V2.0...
    码农一颗颗阅读 22,831评论 11 52
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,464评论 19 139
  • 我发现人若大部分时间用于独处,将有益身心。与人为伴,即使是挚友,也很快会有厌烦或虚度光阴的感觉。我爱独处,我发现...
    狂徒小任阅读 2,507评论 2 2