跑步课程导入能力,助力科学训练

HUAWEI Health Kit为开发者提供用户自定义的跑步课程导入接口,便于用户在华为运动健康App和华为智能穿戴设备上查看来自生态应用的训练课表,开启科学、适度的运动训练。

跑步课程导入能力支持生态应用在获取用户的华为帐号授权后,将跑步课程数据写入至华为运动健康App,并在已有的华为智能穿戴设备连接并支持课程导入时,直接将课表推送到设备上,用户可以轻松便捷地投入到科学的跑步课程训练中,提升运动表现。

跑步课程导入能力,助力科学训练

开发者在使用跑步课程导入功能前,请参见申请Health Kit服务完成以下权限的申请:

跑步课程导入对应的Scope权限:https://www.huawei.com/healthkit/location.write

Health Kit联盟卡片申请的权限名称:健康管理 >计划和任务数据。

具体开发流程如下:

将跑步训练计划导入到华为运动健康App并展示。

若需要进行设备下发,可以通过DeepLink跳转到运动健康App自定义课程的详情页面,并实现跑步课程自动下发到该设备(需要华为智能穿戴设备支持自定义课程,并已与运动健康App绑定)。

说明:当获取华为运动健康App版本号返回的versionCode不低于1300002300 时,可使用DeepLink跳转功能。

示例代码

跑步训练计划导入示例代码。

请求示例

POST
https://health-api.cloud.huawei.com/healthkit/v1/trainingplan/workouts
Content-Type: application/json
Authorization: Bearer ***
x-client-id: ***
x-version: ***
x-caller-trace-id: ***
{
    "name": "01:乳酸阈值课程",
    "description": "总距离:7.02公里;总时间:1:19:00;训练负荷:29.7",
    "actionCombine": [
        {
            "actionList": [
                {
                    "name": "Warm up",
                    "describe": "暖身",
                    "target": {
                        "name": "time",
                        "value": 900.0
                    },
                    "strength": {
                        "name": "pace",
                        "valueH": 614000.0,
                        "valueL": 614000.0
                    }
                }
            ],
            "repeatTimes": 1
        },
        {
            "actionList": [
                {
                    "name": "relax",
                    "describe": "动态伸展",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    }
                }
            ],
            "repeatTimes": 1
        },
        {
            "actionList": [
                {
                    "name": "run",
                    "describe": "跑步训练5分钟",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    },
                    "strength": {
                        "name": "pace",
                        "valueH": 486000.0,
                        "valueL": 486000.0
                    }
                },
                {
                    "name": "have a rest",
                    "describe": "缓走或休息",
                    "target": {
                        "name": "time",
                        "value": 60.0
                    }
                },
                {
                    "name": "relax",
                    "describe": "静态伸展",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    }
                }
            ],
            "repeatTimes": 9
        }
    ]
}

响应示例

HTTP/1.1 200 OK
Content-type: application/json;charset=utf-8
{
    "workoutId": "1669019290232",
    "name": "01:乳酸阈值课程",
    "description": "总距离:7.02公里;总时间:1:19:00;训练负荷:29.7",
    "actionCombine": [
        {
            "repeatTimes": 1,
            "actionList": [
                {
                    "name": "Warm up",
                    "describe": "暖身",
                    "target": {
                        "name": "time",
                        "value": 900.0
                    },
                    "strength": {
                        "name": "pace",
                        "valueH": 614000.0,
                        "valueL": 614000.0
                    }
                }
            ]
        },
        {
            "repeatTimes": 1,
            "actionList": [
                {
                    "name": "relax",
                    "describe": "动态伸展",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    }
                }
            ]
        },
        {
            "repeatTimes": 9,
            "actionList": [
                {
                    "name": "run",
                    "describe": "跑步训练5分钟",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    },
                    "strength": {
                        "name": "pace",
                        "valueH": 486000.0,
                        "valueL": 486000.0
                    }
                },
                {
                    "name": "have a rest",
                    "describe": "缓走或休息",
                    "target": {
                        "name": "time",
                        "value": 60.0
                    }
                },
                {
                    "name": "relax",
                    "describe": "静态伸展",
                    "target": {
                        "name": "time",
                        "value": 300.0
                    }
                }
            ]
        }
    ],
    "createTime": 1669019290232
}

DeepLink跳转运动健康App完成跑步课程自动导入。

参数说明

跑步课程导入能力,助力科学训练

示例代码

String deeplink="huaweischeme://healthapp/fitnesspage?skip_type=custom_course&id=workoutId&version=2.0";           
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(deeplink));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

了解更多详情>>

更多相关内容请参见跑步课程导入章节。

如您需要了解更多功能,请访问华为运动健康服务联盟官网

访问HMS Core 联盟官网

获取HMS Core 开发指导文档

关注我们,第一时间了解 HMS Core 最新技术资讯~

原文链接:https://www.cnblogs.com/hmscore/p/17391394.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:跑步课程导入能力,助力科学训练 - Python技术站

(0)
上一篇 2023年5月11日
下一篇 2023年4月18日

相关文章

  • Android Banner – ViewPager 02

    Android Banner – ViewPager 02 现在来给viewpager实现的banenr加上自动轮播 自动轮播的原理,使用handler的延迟消息来实现。 自动轮播实现如下内容 开始轮播&停止轮播 可配置轮播时长、轮播方向 通过自定义属性来配置轮播时长,方向 感知生命周期,可见时开始轮播,不可见时停止轮播 感知手指触摸,触摸按下时停止…

    Android 2023年4月17日
    00
  • 仿豆瓣发布-编辑框自适应高度,自动滚动定位到焦点输入

    效果图 随着输入的文本自动增加高度,键盘上方自定义菜单布局,随键盘弹起 点击编辑框,自动滚动到焦点处输入 布局层次 <ConstraintLayout>   <ScrollView>     <LinearLayout>        <Edittext/>       <自定义布局/>     &…

    Android 2023年4月18日
    00
  • Android模拟器调试串口

    一、安装虚拟串口软件 虚拟串口软件推荐 Virtual Serial Port Driver 官网 和 Virtual Serial Port Kit 官网 都可以免费试用15天。 这里以Virtual Serial Port Kit为例,打开安装好的Virtual Serial Port Kit,点击菜单栏的新增图标 然后选择两个端口点确定即可 1.1 测…

    Android 2023年4月17日
    00
  • Opengl ES之踩坑记

    前因 最近在尝试使用Opengl ES实现一些LUT滤镜效果,在实现这些滤镜效果的时候遇到一些兼容性的坑,踩过这些坑后我希望把这几个坑分享给读者朋友们,希望同在学习Opengl ES的朋友们能少走弯路。 关于LUT滤镜相关的介绍,也是这个Opengl ES系列入门教程的一项内容,在后面的文章中会专门介绍,这里暂时不展开讲解,后续大家敬请期待。 踩坑详情 1、…

    Android 2023年4月18日
    00
  • Fragment回退栈相关操作

    在我的场景里,会创建多个Fragment,Fragment之间可以互相跳转,点击返回键需要一级一级往上返回。因此需要一个类似于Activity的回退栈,当然没必要做到Activity那么复杂,满足先进先出的效果即可。 添加Fragment回退栈 添加个Fragment,并将其加入回退栈,代码如下: FragmentManager fragmentManage…

    Android 2023年4月18日
    00
  • Android报”ClassCastException”如何解决?

    Android中,”ClassCastException”异常表示向下转型时出现类型转换错误。通常情况下,这种错误可能是由于将一个对象引用从其父类转换为其子类时发生的,而该对象实际上不是该子类的实例。此时会抛出ClassCastException异常。 处理”ClassCastException”异常最常见的方法是使用合适的Java类型检查和类型转换技术,以…

    Android 2023年4月3日
    00
  • 运动健康路线导入,助力用户轻松导航

    华为HMS Core运动健康服务支持通过REST API,以GPX文件格式写入用户路线数据,支持导入轨迹(Track)或路程(Route)类型的数据,实现用户路线数据在华为运动健康App中的展示效果。 假若与华为运动健康App相连接的穿戴设备支持路线导入,那么用户路线数据将自动下发至穿戴设备。用户可使用手表轻松导航,按照既定路线进行跑步、爬山等活动。(当前支…

    Android 2023年4月17日
    00
  • Android 常用 adb 命令总结

    Android 常用 adb 命令总结 adb ( 全称为Android Debug Bridge)是一个C/S 架构命令行工具,起到调试桥的作用,是连接Android手机与PC端的桥梁,方便我们在电脑上对手机进行操作。adb 命令可用于执行各种设备操作,如安装和调试应用。 点击下载adb工具 ADB和Fastboo最新Google官方下载地址:https:…

    Android 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部