HealthKit简介
健康应用程序是为了帮助组织您的重要健康信息,并使其易于在中心和安全的地方访问。随着iOS 15的发布,我们将添加更多功能来增强您的能力。有新的方法可以与你所爱的人共享数据,有一种评估你走路稳定性和跌倒风险的指标,还有趋势分析可以帮助你了解健康状况的变化。
HealthKit 插件概述
本插件封装了健康数据的原生 SDK,集成quantity与category 的权限申请、读取、写入功能。
插件使用攻略
ios证书勾选: HealthKit + HealthKit Estimate Recalibration
权限
NSHealthUpdateUsageDescription NSHealthShareUsageDescription
<!-- res/UZApp.entitlements -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.healthkit</key>
<true/>
</dict>
</plist>
是否支持
isSupport()
无
无
var health = api.require('HealthKit');
var status = health.isSupport();
iOS系统
可提供的1.0.0及更高版本
获取权限状态
getPermission({params}, callback(ret, err))
writeTypes
readTypes
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.getPermission({
writeTypes:[
"HKQuantityTypeIdentifierStepCount", //步数
"HKQuantityTypeIdentifierHeartRate", //心率
"HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
"HKQuantityTypeIdentifierDietaryWater", //饮水
"HKCategoryTypeIdentifierSleepAnalysis", //睡眠
"HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
"HKCategoryTypeIdentifierMoodChanges", //心理状态
"HKCategoryTypeIdentifierMindfulSession" //正念
],
readTypes:[
"HKQuantityTypeIdentifierStepCount", //步数
"HKQuantityTypeIdentifierHeartRate", //心率
"HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
"HKQuantityTypeIdentifierDietaryWater", //饮水
"HKCategoryTypeIdentifierSleepAnalysis", //睡眠
"HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
"HKCategoryTypeIdentifierMoodChanges", //心理状态
"HKCategoryTypeIdentifierMindfulSession" //正念
]
}, function(ret, err){
console.log(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本
请求权限
requestPermission({params}, callback(ret, err))
writeTypes
readTypes
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.requestPermission({
writeTypes:[
"HKQuantityTypeIdentifierStepCount", //步数
"HKQuantityTypeIdentifierHeartRate", //心率
"HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
"HKQuantityTypeIdentifierDietaryWater", //饮水
"HKCategoryTypeIdentifierSleepAnalysis", //睡眠
"HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
"HKCategoryTypeIdentifierMoodChanges", //心理状态
"HKCategoryTypeIdentifierMindfulSession" //正念
],
readTypes:[
"HKQuantityTypeIdentifierStepCount", //步数
"HKQuantityTypeIdentifierHeartRate", //心率
"HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
"HKQuantityTypeIdentifierDietaryWater", //饮水
"HKCategoryTypeIdentifierSleepAnalysis", //睡眠
"HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
"HKCategoryTypeIdentifierMoodChanges", //心理状态
"HKCategoryTypeIdentifierMindfulSession" //正念
]
}, function(ret, err){
console.log(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本
quantity(HKQuantityTypeIdentifier)类型数据查询
quantityQuerys({params}, callback(ret, err))
startTime:
endTime:
types
units
limit:
sorts:
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.quantityQuerys({
startTime:"1705420800",
endTime:"1705507199",
types:[
// "HKQuantityTypeIdentifierStepCount", //步数
// "HKQuantityTypeIdentifierHeartRate", //心率
// "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
// "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
"HKQuantityTypeIdentifierDietaryWater", //饮水
],
units:{
// HKQuantityTypeIdentifierStepCount:"count",
// HKQuantityTypeIdentifierHeartRate:"count/s",
// HKQuantityTypeIdentifierDistanceWalkingRunning:"m",
// HKQuantityTypeIdentifierHeartRateVariabilitySDNN:"ms",
HKQuantityTypeIdentifierDietaryWater:"mL",
},
limit:10,
sorts:[
"startDate ASC",
// "endDate ASC",
]
},function(ret, err) {
alert(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本
category(HKCategoryTypeIdentifier)类型数据查询
categoryQuerys({params}, callback(ret, err))
startTime:
endTime:
types
limit:
sorts:
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.categoryQuerys({
startTime:"1705420800",
endTime:"1705507199",
types:[
// "HKQuantityTypeIdentifierStepCount", //步数
// "HKQuantityTypeIdentifierHeartRate", //心率
// "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
// "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
// "HKQuantityTypeIdentifierDietaryWater", //饮水
// "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
"HKCategoryTypeIdentifierMindfulSession" //正念
],
limit:10,
sorts:[
"startDate ASC",
// "endDate ASC",
]
},function(ret, err) {
alert(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本
关闭查询
stopQuery({params})
type:
无
var health = api.require('HealthKit');
health.stopQuery({type:"quantity"});
iOS系统
可提供的1.0.0及更高版本
quantity(HKQuantityTypeIdentifier)类型数据查询
quantityWrites({params}, callback(ret, err))
type
params:
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.quantityWrites({
type:"HKQuantityTypeIdentifierDietaryWater",
params:[
{
startTime:"1705420800",
endTime:"1705507199",
unit:"mL",
value:1,
},
{
startTime:"1705420800",
endTime:"1705507199",
unit:"mL",
value:3,
}
]
},function(ret, err) {
alert(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本
category(HKCategoryTypeIdentifier)类型数据查询
categoryWrites({params}, callback(ret, err))
type
params:
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onSuccess', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var health = api.require('HealthKit');
health.categoryWrites({
type:"HKCategoryTypeIdentifierMindfulSession",
params:[
{
startTime:"1705420800",
endTime:"1705507199",
value:0, // 暂时测试HKCategoryTypeIdentifierMindfulSession 必须是0 否则闪退
},
{
startTime:"1705420800",
endTime:"1705507199",
value:0,
}
]
},function(ret, err) {
alert(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本