【FAQ】HarmonyOS SDK 闭源开放能力 —Health Service Kit
1.问题描述:
按照官方文档调用healthStore API申请用户授权;有拉起授权弹窗,但是无回调,检查权限接口也无回调。
解决方案:
1、接口调用前,需先使用init方法进行初始化,没有回调的问题请确认是否已调用init方法。
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthstore-V5#section1571935817328
2、步数通过日常活动数据进行开放,如果需要获取步数数据,需要申请“日常活动数据”权限。
3、应用也可以参考官方实例代码:https://gitee.com/harmonyos_samples/health_-service_-kit_-sample-code
2.问题描述:
DailyActivities日常活动采样数据字段列表。怎么利用这个接口获取用户的步数?
解决方案:
获取步数需要先在Health Service Kit联盟卡片中申请日常活动采样数据权限,权限说明见:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-permission-description-V5
权限申请通过后,在用户授权的前提下,可以通过以下接口获取步数数据:
1、可以通过healthStore.readData接口获取步数明细数据;
readData:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthstore-V5#section193411928192218
2、可以通过healthStore.aggregateData接口获取步数统计数据;
aggregateData:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthstore-V5#section4878142184216
3、可以通过workout.readActivityReport读取实时三环数据接口,查询实时的步数数据;
readActivityReport:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthservice-V5#section9432058162017
接口调用示例可以参考sampleCode:https://gitee.com/harmonyos_samples/health_-service_-kit_-sample-code/tree/master
3.问题描述:
申请了健康运动权限,但是在授权healthStore.samplePointHelper.dailyActivities.DATA_TYPE已经授权过了,但是在查询这个权限还是查询不到,目前申请的权限不知道是不是这个权限。
解决方案:
根据AppID:109912713查询,权限是已经申请了的。
请根据以下步骤进行排查下:
1、请检查module.json5中配置的client_id是否为:109912713。
路径见“配置Client ID指南”:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-configuration-client-id-V5
2、先调用“取消授权接口”取消授权后,再调用用户授权接口,重新进行用户授权,在授权时请确认是否有添加“healthStore.samplePointHelper.dailyActivities.DATA_TYPE”权限;
取消授权接口见:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-add-permissions-V5#section125616501171
用户授权:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-add-permissions-V5#section0247115178
3、用户勾选权限并授权后,重新调用查询授权接口看看;
查询权限:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-add-permissions-V5#section2932421571
4、如果问题依旧存在,请提供未做筛选的详细日志,可以执行以下命令获取:
-
执行:hdc hilog > xxxx.log
-
触发定位
-
停止脚本执行。
-
在目录下获取日志信息。
/******/
补充:调用“取消授权接口”是为了刷新权限缓存,此问题可能是缓存原因导致的;
4.问题描述:
健康权限申请权限授权后查询不到相关权限
已经申请过健康运动权限,在应用授权readDataTypes: [healthStore.exerciseSequenceHelper.DATA_TYPE],出现相关弹窗后确定再去调用查询权限api,但是查询的结果是空的,想问下是不是我们当前应用readDataTypes: [healthStore.exerciseSequenceHelper.DATA_TYPE是否申请成功?
解决方案:
原因分析:
1、查询权限接口,只有在应用已申请,且用户已授权的情况下,才会返回结果。
2、healthStore.exerciseSequenceHelper.DATA_TYPE是锻炼记录,当前应用未申请锻炼记录权限,故查询锻炼记录权限时无结果值返回;
处理建议:
1、请检查module.json5文件中配置的client_id,是否有在联盟卡片中申请锻炼记录权限;
配置的client_id位置信息,请查看“配置Client ID”指南:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-configuration-client-id-V5
2、如果需要使用锻炼记录权限,请在联盟卡片中为当前应用申请锻炼记录权限,申请指南请见“申请运动健康服务”指南:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-apply-V5
3、如果开发者需要使用并授权日常活动数据权限,应使用日常活动权限:samplePointHelper.dailyActivities.DATA_TYPE
详见权限说明:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/health-permission-description-V5
日常活动数据权限可以查询用户步数信息,在用户授权的前提下,可以通过以下接口获取步数数据:
1)可以通过healthStore.readData接口获取步数明细数据(数据及时性:10分钟级);
readData:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthstore-V5#section193411928192218
2)可以通过healthStore.aggregateData接口获取步数统计数据(数据及时性:10分钟级);
aggregateData:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthstore-V5#section4878142184216
3)可以通过workout.readActivityReport读取实时三环数据接口,查询实时的步数数据;
readActivityReport:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-healthservice-V5#section9432058162017
接口调用示例可以参考此sampleCode:https://gitee.com/harmonyos_samples/health_-service_-kit_-sample-code/tree/master
5.问题描述:
运动与健康这里调用workout.readActivityReport这个api去获取运动数据的时候,用刚注册的华为账号或者这个账号不在应用指纹里调用这个接口会报一个201的错误,用之前的添加到应用指纹的华为账号是可以的,这种在线上正式包的时候也会出现这个错误
解决方案:
1、调用readActivityReport接口前,需要完成以下步骤:
1)完成申请运动健康服务与配置Client ID。
2)需先通过用户授权接口引导用户授权,用户授权日常活动数据类型读权限(参考权限说明)后,才有权限读取实时三环数据。
详见“读取实时三环数据”指南:https://developer.huawei.com/consumer/cn/doc/atomic-guides-V5/health-three-ring-read-as-V5#section056221011249
2、错误码201是鉴权失败。
可能原因
1、应用指纹配置不正确。
2、缺少权限。
3、部分接口仅白名单用户可调用。
4、测试用户数已达上限。
处理步骤
1、检查AGC上应用的指纹证书,详情请见添加公钥指纹。
2、参考管理用户授权,确认用户已授权相关权限。
3、用户申请成为测试用户失败,请尽快参考申请验证获取正式权限,完成管理台应用验收。
详见“201 鉴权失败”:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/health-api-error-code-V5#section383228112410
相关文章:
【FAQ】HarmonyOS SDK 闭源开放能力 —Health Service Kit
1.问题描述: 按照官方文档调用healthStore API申请用户授权;有拉起授权弹窗,但是无回调,检查权限接口也无回调。 解决方案: 1、接口调用前,需先使用init方法进行初始化,没有回调的问题请确认…...
【unity游戏开发入门到精通——UGUI】RectTransform矩形变换组件
注意:考虑到UGUI的内容比较多,我将UGUI的内容分开,并全部整合放在【unity游戏开发——UGUI】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、RectTransform组件介绍二、RectTransform组件参数1、Pivot 轴心点2、Ancho…...
【Rust 精进之路之第4篇-数据基石·上】标量类型:整数、浮点数、布尔与字符的精妙之处
系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025-04-20 引言:构成万物的“原子”——标量类型 在上一篇文章【变量观】中,我们深入探讨了 Rust 如何通过 let、mut、const…...
C语言复习笔记--字符函数和字符串函数(上)
在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。 首先来看下字符函数. 字符分类函数 C语⾔中有⼀系列的函数是专⻔做字符分类的…...
Apipost,前端后端测试都在用的接口设计调试工具
大家好,我是袁庭新。给大家介绍一个后端、前端、测试都在用的接口测试工具——Apipost。Apipost主要分为5个大模块,贯穿一个API从设计到测试完成上线的研发全周期。 1.Apipost介绍 Apipost官方地址:https://www.apipost.cn。如下图所示。 A…...
十倍开发效率 - IDEA 插件之RestfulBox - API
提高效率不是为了完成更多的任务,而是有充足的时间摸鱼。 快速体验 RestfulBox - API 是 IDEA 的插件,适合本地测试接口,完全不需要对项目进行任何以来。 接口管理:支持接口扫描、浏览、搜索、跳转、导入和导出。支持接口请求&a…...
2025 年网络安全的挑战与机遇
2024 年是网络安全领域风云变幻的一年。从备受瞩目的勒索软件攻击所带来的影响,到人工智能工具日益商品化,挑战不断增加。 关键基础设施的漏洞变得极为明显,身份盗窃次数也达到了前所未有的程度。然而,在这一片混乱之中ÿ…...
Linux 常用指令用户手册
Linux 常用指令用户手册 适合新手入门 & 日常速查 目录 基础操作文件与目录管理权限与所有权文本处理压缩与解压系统监控网络操作进程管理实用小技巧 1. 基础操作 1.1 查看系统信息 # 查看内核版本 uname -a# 查看系统发行版信息(适用于 Debian/Ubuntu&…...
IP数据报
IP数据报组成 IP数据报(IP Datagram)是网络中传输数据的基本单位。 IP数据报头部 版本(Version) 4bit 告诉我们使用的是哪种IP协议。IPv4版本是“4”,IPv6版本是“6”。 头部长度(IHL,Intern…...
android PackageName ClassName
目录 系统应用: 设置 蓝牙 时钟 计算机 录音机 图库 视频 文件管理 FM 日历 谷歌浏览器 谷歌商店 热门商店 国外应用: amazon spotify deezer pandora audible applemusic omnia mxtech youtubemusic facebook familylink tidal tiktok kindle mxtechvideoplayer vlc 系统应…...
【Lua语言】Lua语言快速入门
初始Lua Lua是一种轻量小巧的脚本语言,他使用标准C语言编写并以源代码形式开放。这意味着Lua虚拟机可以很方便的嵌入别的程序中,从而为应用程序提供灵活的扩展和定制功能。同时,在目前脚本引擎中,Lua的运行速度占有绝对优势。 变…...
Silverlight发展历程(微软2021年已经停止支持Silverlight 5)
文章目录 Microsoft Silverlight 发展历程引言起源与背景(2006-2007)互联网技术格局与微软的挑战WPF/E 项目的启动 Silverlight 1.0 的诞生(2007)正式命名与首次发布初步的市场定位 Silverlight 2.0:真正的突破&#x…...
充电桩领域垂直行业大模型分布式推理与训练平台建设方案 - 慧知开源充电桩平台
没有任何广告! 充电桩领域垂直行业大模型分布式推理与训练平台建设方案 一、平台定位与核心价值 行业首个垂直化AI平台 专为充电桩运营场景设计的分布式大模型训练与推理基础设施,实现"算力-算法-场景"三位一体闭环管理。 核心价值主张&am…...
区块链交易自动化新时代:实战体验 Maestro 智能机器人
随着 DeFi 和链上交易生态的不断壮大,链上自动化工具的应用正逐渐从「量化机构」走向普通投资者和开发者。在过去的几个月中,我实测了一款基于 Telegram 的交易机器人 —— Maestro,它极大简化了链上套利、复制交易等流程,对我个人…...
windows服务器及网络:论如何安装(虚拟机)
今天我要介绍的是:在Windows中对于安装系统(虚拟机的步骤以及相关的安装事宜),事不宜迟,让我们来看看系统安装(虚拟机)是怎么操作的: 对现在来说,安装电脑系统已经是非常…...
Hbuilder 上的水印相机实现方案 (vue3 + vite + hbuilder)
效果 思路 通过 live-pusher 这个视频推流的组件来获取摄像头拿到视频的一帧图片之后,跳转到正常的 vue 页面,通过 canvas 来处理图片水印 源码 live-pusher 这个组件必须是 nvue 的 至于什么是 nvue,看这个官方文档吧 https://uniapp.dcl…...
TinyEngine 2.4版本正式发布:文档全面开源,实现主题自定义,体验焕新升级!
本文由体验技术团队李璇原创。 前言 TinyEngine低代码引擎使开发者能够定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低…...
DeepSeek-R3、GPT-4o 与 Claude-3.5-Sonnet 全面对比:性能、应用场景与技术解析
随着大模型技术的迅猛发展,国产模型正逐渐崭露头角,尤其是DeepSeek-R3的发布,更是在AI技术社区中引起广泛关注。而与此同时,国际领先的GPT-4o和Claude-3.5-Sonnet也在不断迭代升级,持续刷新业界对AI能力的认知。下文将…...
57、在 Vue 3 项目中引入 js-cookie 库
当后端接口返回响应时,若在响应头里设置了 Set-Cookie 字段,浏览器会自动处理这些 cookie 并把它们存储起来。 1. 安装 js-cookie 你可以通过 npm 或者 yarn 来安装 js-cookie: npm install js-cookie # 或者 yarn add js-cookie2. 在组件…...
毕业答辩的PPT应该包括哪些内容?
一、PPT 模板的选择 1. 忌单调的白底黑字,应进行一些艺术设计,使人看着画面舒服,但不必过于花哨。总之,专业制作,符合技术人士的喜好。 2. 去掉不相关信息,如一些下载模板上的LOGO。把学校或部门的LOGO放…...
Vscode --- LinuxPrereqs │远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件
打开vscode连接远程linux服务器,发现连接失败,并出现如下报错信息: 原因是: vscode 官网公告如下:2025 年 3 月 (版本 1.99) - VSCode 编辑器 版本1.97 官网公告如下:链接 版本1.98 官网公告如下&am…...
重构之去除多余的if-else
一、提前返回(Guard Clauses) 适用场景:当 else 块仅用于处理异常或边界条件时。 优化前:if (isValid) {doSomething(); } else {return; }优化后:if (!isValid) return; // 提前处理异常,主流程保持简洁…...
安装部署RabbitMQ
一、RabbitMQ安装部署 1、下载epel源 2、安装RabbitMQ 3、启动RabbitMQ web管理界面 启用插件 rabbitmq数据目录 创建rabbitmq用户 设置为管理员角色 给用户赋予权限 4、访问rabbitmq...
Qt实现文件传输客户端(图文详解+代码详细注释)
Qt实现文件传输客户端 1、 客户端UI界面设计2、客户端2.1 添加网络模块和头文件2.2 创建Tcp对象2.3 连接按钮2.3.1 连接按钮连接信号与槽2.3.2 连接按钮实现 2.4 读取文件2.4.1 连接读取文件的信号与槽2.4.2 读取文件槽函数实现2.5 进度条2.5.1 设置进度条初始值2.5.2 初始化进…...
机器学习期末
选择题 以下哪项不是机器学习的类型? A. 监督学习 B.无监督学习 C.半监督学习 D.全监督学习 D 哪一个是机器学习的合理定义? A、机器学习是计算机编程的科学 B、机器学习从标记的数据中学习 C、机器学习是允许机器人智能行动的领域 D、机器学习能使计算机能够在…...
在 Linux 上部署 .NET Core 应用并配置为开机自动启动
在本文中,我们将详细介绍如何在 Linux 系统上部署 .NET Core 应用程序,并配置为开机自动启动。以下是一步一步的详细部署过程,适用于将 .NET Core Web 应用部署到生产环境中。 1. 安装 .NET 运行时和 SDK 首先,确保 Linux 系统上…...
Python多任务编程:进程全面详解与实战指南
1. 进程基础概念 1.1 什么是进程? 进程(Process)是指正在执行的程序,是程序执行过程中的一次指令、数据集等的集合。简单来说,进程就是程序的一次执行过程,它是一个动态的概念。 想象你打开电脑上的音乐播放器听歌,…...
【QT】 QT中的列表框-横向列表框-树状列表框-表格列表框
QT中的列表框-横向列表框-树状列表框-表格列表框 1.横向列表框(1)主要方法(2)信号(3) 示例代码1:(4) 现象:(5) 示例代码2:加载目录项在横向列表框显示(6) 现象: 2.树状列表框 QTreeWidget(1)使用思路(2)信号(3)常用的接口函数(4) 示例代码&am…...
决策树:ID3,C4.5,CART树总结
树模型总结 决策树部分重点关注分叉的指标,多叉还是单叉,处理离散还是连续值,剪枝方法,以及回归还是分类 一、决策树 ID3(Iterative Dichotomiser 3) 、C4.5、CART决策树 ID3:确定分类规则判别指标、寻找能够最快速降低信息熵的方…...
easyexcel使用模板填充excel坑点总结
1.单层map设置值是{属性},那使用两层map进行设置值,是不是可以使用{属性.属性},以为取出map里字段只用{属性}就可以设置值,那再加个.就可以从里边map取出对应属性,没有两层map写法 填充得到的文件打开报错 was empty (…...
