pedometer
来自于:APICloud 官方立即使用
startCount stopCount getSteps getStepCount
概述
由于系统平台差异,iOS 和 android 采用不同的计步策略。本模块特封装了两种适合各自平台的相关接口。
一 、适合 android 平台的接口:
startCount
stopCount
getSteps
二 、适合 iOS 平台的接口:
getStepCount
android 平台计步接口说明
在 android 平台上,模块底层实现了一个计步器的功能,当 app 启动,并调用 startCount 接口,模块计步器开始记录步行数据。当此 app 切入后台不影响该计步器的记录。当用户从后台关闭该 app,则停止记录。因此,要想完整记录步行数据,则必须保证 app 至少能在后台运行。
Android 调用方式及流程:
Android 计步器的统计周期为调用 startCount 到调用 stopCount 之间,如果再此调用startCount 计步器将从零开始统计
//调用 startCount 方法开启统计监听服务,此时模块开始统计,可在回调函数获取步行事件及其数据记录
startCount(callback(ret)):
//返回当前统计的总步数
getSteps(callback(ret)):
//停止统计 stopCount():
iOS 平台计步接口说明
在 iOS 平台上,手机系统会自动记录步行数据,开发者只需获取系统记录的步行数据即可。
注意:
在 iOS 平台上使用本功能,需要在 生成包名(bundle id) 的时候,勾选 HealthKit 功能。如下图:
iOS 上使用本模块前,需要先配置一个 entitlement 文件。配置方法参考论坛帖子 iOS修改entitlements文件
注意:云编译时要申请勾选‘健康分享’权限。
模块接口
startCount
开始计步
startCount(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
steps: 20 //数字类型;当前统计的步数
}
示例代码
var pedometer = api.require('pedometer');
pedometer.startCount(function(ret) {
alert(ret.steps);
});
可用性
Android系统
可提供的1.0.0及更高版本
stopCount
停止计步
stopCount()
示例代码
var pedometer = api.require('pedometer');
pedometer.stopCount();
可用性
Android系统
可提供的1.0.0及更高版本
getSteps
获取当前统计的步数\**
getSteps(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
steps: 20 //数字类型;行走的步数
}
示例代码
var pedometer = api.require('pedometer');
pedometer.getSteps(function(ret) {
alert(ret.steps);
});
可用性
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 对象
- 内部字段:
{
total : 0 //数字类型,行走的总步数
beginTime : '', //字符串类型,开始时间,格式:yyyy-MM-dd HH:mm:ss
finishTime : '', //字符串类型,完成时间,格式:yyyy-MM-dd HH:mm:ss
details:[{ //数组类型;详情数据
stepCount : 20, //数字类型;步数
startTime : '', //字符串类型;开始时间,格式:yyyy-MM-dd HH:mm:ss
endTime : '', //字符串类型;结束时间,格式:yyyy-MM-dd HH:mm:ss
source: { //JSON对象;数据源信息
name: 'APICloud的 Apple Watch',//字符串类型;名字
version: '3.2.2', //字符串类型;版本号
bId: '', //字符串类型;bundleIdentifier
},
device: { //JSON对象;数据源的设备信息,假如本数据来自iphone的其它app(如小米运动等)则本参数为空
name: 'Apple Watch', //字符串类型;名字
manufacturer:'Apple', //字符串类型;制造商
model:'Watch', //字符串类型;设备类型
hardwareVersion:'Watch1,1' //字符串类型;固件版本
softwareVersion:'3.2.2 ' //字符串类型;软件版本
}
},{
stepCount : 30,
startTime : '',
endTime : '',
}]
}
示例代码
var pedometer = api.require('pedometer');
pedometer.getStepCount({
count: 0,
startTime: '2016-07-13 07:20:30',
endTime: '2016-07-13 12:00:00'
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本