pedometer

来自于:APICloud 官方立即使用

概述

由于系统平台差异,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 功能。如下图:

alert

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: '孙政篡的 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及更高版本