pedometer

来自于:APICloud 官方立即使用

startCount stopCount getSteps getStepCount

概述

由于系统平台差异,iOS 和 android 采用不同的计步策略。本模块特封装了两种适合各自平台的相关接口。

一 、适合 android 平台的接口:

  1. startCount
  2. stopCount
  3. getSteps

二 、适合 iOS 平台的接口:

  1. getStepCount

android 平台计步接口说明

在 android 平台上,模块底层实现了一个计步器的功能,当 app 启动,并调用 startCount 接口,模块计步器开始记录步行数据。当此 app 切入后台不影响该计步器的记录。当用户从后台关闭该 app,则停止记录。因此,要想完整记录步行数据,则必须保证 app 至少能在后台运行。

Android 调用方式及流程:

Android 计步器的统计周期为调用 startCount 到调用 stopCount 之间,如果再此调用startCount 计步器将从零开始统计

  1. //调用 startCount 方法开启统计监听服务,此时模块开始统计,可在回调函数获取步行事件及其数据记录
  2. startCount(callback(ret)):
  3. //返回当前统计的总步数
  4. getSteps(callback(ret)):

//停止统计 stopCount():

iOS 平台计步接口说明

在 iOS 平台上,手机系统会自动记录步行数据,开发者只需获取系统记录的步行数据即可。

注意:

在 iOS 平台上使用本功能,需要在 生成包名(bundle id) 的时候,勾选 HealthKit 功能。如下图:

alert

iOS 上使用本模块前,需要先配置一个 entitlement 文件。配置方法参考论坛帖子 iOS修改entitlements文件

注意:云编译时要申请勾选‘健康分享’权限。

模块接口

startCount

开始计步

startCount(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. steps: 20 //数字类型;当前统计的步数
  3. }

示例代码

  1. var pedometer = api.require('pedometer');
  2. pedometer.startCount(function(ret) {
  3. alert(ret.steps);
  4. });

可用性

Android系统

可提供的1.0.0及更高版本

stopCount

停止计步

stopCount()

示例代码

  1. var pedometer = api.require('pedometer');
  2. pedometer.stopCount();

可用性

Android系统

可提供的1.0.0及更高版本

getSteps

获取当前统计的步数\**

getSteps(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. steps: 20 //数字类型;行走的步数
  3. }

示例代码

  1. var pedometer = api.require('pedometer');
  2. pedometer.getSteps(function(ret) {
  3. alert(ret.steps);
  4. });

可用性

Android系统

可提供的1.0.0及更高版本

getStepCount

获取步数

getStepCount({params}, callback(ret))

params

startTime:

  • 类型:字符串
  • 描述:开始日期
  • 格式:yyyy-MM-dd HH:mm:ss 如:2016-09-01 13:20:30

endTime:

  • 类型:字符串
  • 描述:结束日期(结束日期和开始日期之间的差值不得超过三天,如果超过三天,按三天来算。)
  • 格式:yyyy-MM-dd HH:mm:ss 如:2016-10-01 10:20:30

count:

  • 类型:数字类型
  • 描述:(可选项)获取最近数据的数量,默认为0,0代表最多数量.

remove:

  • 类型:布尔类型
  • 描述:(可选项)是否移除人为添加的步行数据
  • 默认:false

callback(ret)

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. total : 0 //数字类型,行走的总步数
  3. beginTime : '', //字符串类型,开始时间,格式:yyyy-MM-dd HH:mm:ss
  4. finishTime : '', //字符串类型,完成时间,格式:yyyy-MM-dd HH:mm:ss
  5. details:[{ //数组类型;详情数据
  6. stepCount : 20, //数字类型;步数
  7. startTime : '', //字符串类型;开始时间,格式:yyyy-MM-dd HH:mm:ss
  8. endTime : '', //字符串类型;结束时间,格式:yyyy-MM-dd HH:mm:ss
  9. source: { //JSON对象;数据源信息
  10. name: 'APICloud的 Apple Watch',//字符串类型;名字
  11. version: '3.2.2', //字符串类型;版本号
  12. bId: '', //字符串类型;bundleIdentifier
  13. },
  14. device: { //JSON对象;数据源的设备信息,假如本数据来自iphone的其它app(如小米运动等)则本参数为空
  15. name: 'Apple Watch', //字符串类型;名字
  16. manufacturer:'Apple', //字符串类型;制造商
  17. model:'Watch', //字符串类型;设备类型
  18. hardwareVersion:'Watch1,1' //字符串类型;固件版本
  19. softwareVersion:'3.2.2 ' //字符串类型;软件版本
  20. }
  21. },{
  22. stepCount : 30,
  23. startTime : '',
  24. endTime : '',
  25. }]
  26. }

示例代码

  1. var pedometer = api.require('pedometer');
  2. pedometer.getStepCount({
  3. count: 0,
  4. startTime: '2016-07-13 07:20:30',
  5. endTime: '2016-07-13 12:00:00'
  6. }, function(ret) {
  7. alert(JSON.stringify(ret));
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本