新接手一个任务,需要了解一下三星的S健康,以及如何去获取他的数据和写入数据,接到任务后,个人认为是比较简单的,上网随便找个demo,运行一下,看看效果,然后根据官网提供的sdk,开发一个demo即可。
但是打开官网一看,悲剧了,全是英文,下载了官方demo的Simple Health后,再安装S健康应用,操作S健康后,显示了步数数据,但是demo死活不显示数据,后台日志总是报如下错:(权限都已经开放,即S Health以及SimpleHealth 都允许读取和写入数据)
java.lang.SecurityException - Not registered on the white list for 460 (45)
Getting step count fails.
网上查找S健康,发现啥资料也没有,最后还是耐着性子,查看了一下三星S健康官网提供的开发文档,才解决该问题,
具体解决方案如下:
S健康的开发地址:http://developer.samsung.com/health/data/guide,进去后,选择如图所示的选项,可查看到文档
下载文档后,可看到如下描述:
在文档中如下位置即是解决方案,根据英文描述来看,大致意思是
SimpleHealth 运行需要以下要求
1.在api大于19的机器上才支持
2.安装S Health 4.x版本(或大于该版本)
3.将S Health处于开发者模式
4.引入SimpleHealth到studio或者eclipse
5.运行SimpleHealth
将S Health处于开发模式具体步骤如下图:
即进入右上角,点击设置,选择关于,快速点击中间的版本号10次,即处于开发模式,再次点击10次即关闭。
在进入开发者模式后,即正常运行了SimpleHealth(获取到了数据)。
该文档中还有具体的其他的介绍,如果大家需要根据S Health来开发一个健康应用,还是需要深入去了解该文档的,这其中就有关于DataViewer的介绍。具体就不一一列举了。