这是计步模块第二篇,第一篇详细介绍了使用Android SDK自带的计步传感器和加速度传感器进行计步。第一篇介绍计步传感器Sensor.TYPE_STEP_COUNTER可以在App关闭的时候继续计步,但是在有些手机上不适用研究到这已经有种想死感觉了和Android系统做斗争真的太难了。公司最新引进一批测试机SamSung GALAXY C7,在App关闭的情况下计步传感器是不能计步的需要保持后台Service,但是现在的手机系统基本不要想保持后台进程被杀死就是时间问题,但是三星自带的S健康模块是系统级的可以拿到步数、心率等等很多信息非常全面,最主要的他是系统级App有系统进程且现在新款的三星手机都会有这个S健康模块,换句话说他的步数是最准确的而且新款手机都会有,如果能获取他的数据那三星手机计步问题基本解决80%以上了。
获取S键康数据需要的前提条件如下两部分:
第一部分
Android手机系统版本最低需要4.4 KitKat (API level 19)
三星健康app版本最低4.0,才支持sdk开发。
是否是Samsung health的合作伙伴app。(如果不是后面介绍测试环境)
第二部分
上面如果你还没有申请 partner app 或者在三星批准之前,三星健康app可以切换到Developer模式用来对你开发的app进行测试。默认情况下是未开启的,需要你进行开启,操作如下:
找到三星自带的S键康(三星健康)打开。
右上角更多->设置
设置->关于三星健康
连续点击10次版本号,例如“SM-G9300版本5.9.1.003”点击10次
如果开启成功,版本号显示成"(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进程,再次打开会提示如下对话框
对读取步数进行授权之后就可以读取S健康的步数了如下图
在三星S健康中也可以设置:
打开三星健康->右上角更多->点击设置
找到数据权限进入
找到你的App进入可以设置获取三星健康的权限
SimpleHealth代码我在这里就不做分析了,非常简单。
参考文献http://developer.samsung.com/healthhttp://developer.samsung.com/health/data/guide#hello-health-data
相关知识
S健康app下载 S健康(三星运动计步软件) v6.27.2.010 安卓版 下载
揭秘日常健康管理:Android计步神器,每天步数统计,解锁健康生活新篇章
三星S健康不记步了是怎么回事,一直显示0步
基于Android的运动记录APP设计与实现(论文+源码)
个人健康追踪器 – Android 应用程序模板源代码
三星健康app下载 三星健康(体型健康管理软件) V6.24.2.001 安卓手机版 下载
徒步走计数器(天翼健走)
健康运动计步器
三星Watch 7 评测:熟悉的设计,AI健康追踪功能
微信运动怎么计算步数
网址: Android 计步模块读取三星S健康步数 https://m.trfsz.com/newsview952794.html