鸿蒙开发(NEXT/API 12)【请求用户授权】手机侧应用开发

为保护用户隐私,Wear Engine的API需要用户授权才可以正常访问。建议开发者在用户首次调用Wear Engine开放能力的时候执行本章节操作。

申请用户穿戴设备权限

应用拉起华为账号登录和授权界面,由用户授权相应的数据访问权限。用户可以自主选择授权的数据类型,可以只授权部分数据权限。

  1. 应用调用[wearEngine]中的[getAuthClient]方法,获取[AuthClient]对象。

  2. 定义需要用户授权的权限请求类[AuthorizationRequest]

  3. 调用[requestAuthorization]方法,向用户请求权限。执行成功后,会弹出授权界面,让用户选择授予权限(若未登录华为账号则会先弹出登录界面)。当用户允许后才能正常使用接口,否则会遇到错误码为201的提示。

    说明

    • 请确保向用户请求的权限已在[申请接入Wear Engine服务]中审批通过,否则会遇到错误码为1008500004的提示。
    • 该功能可以多次调用,如果申请的权限之前已经授予了,不会再弹出授权页面,接口会返回已经授权的权限。
    • 通过入参的[AuthorizationRequest]对象,获取应用需要的权限。
    • 通过[AuthorizationResponse]对象,返回用户的授权结果。

    // 在使用Wear Engine服务前,请导入WearEngine与相关模块
    import { wearEngine } from '@kit.WearEngine';
    import { BusinessError } from '@kit.BasicServicesKit';

    // 步骤1:获取AuthClient对象
    let authClient: wearEngine.AuthClient = wearEngine.getAuthClient(getContext(this));

    // 步骤2:基于需要用户授权的权限定义权限请求类
    let request: wearEngine.AuthorizationRequest = {
    permissions: [wearEngine.Permission.USER_STATUS]
    }

    // 步骤3:请求用户授权
    authClient.requestAuthorization(request).then(result => {
    console.info(Succeeded in requesting authorize, authorized permissions is ${result.permissions});
    }).catch((error: BusinessError) => {
    console.error(Failed to request authorize. Code is ${error.code}, message is ${error.message});
    })

查询用户授权结果

用于查询已被用户授予的应用权限。建议在请求用户授权前,先使用该接口查询应用是否已有相关权限。

说明

请确保权限已在[申请接入Wear Engine服务]中审批通过,否则会遇到错误码为1008500004的提示。

  1. 应用调用[wearEngine]中的[getAuthClient]方法,获取[AuthClient]对象。

  2. 调用[getAuthorization]方法,查询用户已授权的权限。

    // 在使用Wear Engine服务前,请导入WearEngine与相关模块
    import { wearEngine } from '@kit.WearEngine';
    import { BusinessError } from '@kit.BasicServicesKit';

    // 步骤1:获取AuthClient对象
    let authClient: wearEngine.AuthClient = wearEngine.getAuthClient(getContext(this));

    // 步骤2:调用API查询已授权权限
    authClient.getAuthorization().then(result => {
    console.info(Succeeded in getting authorized permissions, authorized permissions is ${result.permissions});
    }).catch((error: BusinessError) => {
    console.error(Failed to get authorized permissions. Code is ${error.code}, message is ${error.message});
    })

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档 》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 《鸿蒙 (OpenHarmony)开发学习视频》
  • 《鸿蒙生态应用开发V2.0白皮书》
  • 《鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 《鸿蒙开发基础》
  • 《鸿蒙开发进阶》
  • 《鸿蒙开发实战》

总结

鸿蒙---作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿

相关推荐
遇到困难睡大觉哈哈8 小时前
HarmonyOS —— Remote Communication Kit 拦截器(Interceptor)高阶定制能力笔记
笔记·华为·harmonyos
遇到困难睡大觉哈哈9 小时前
HarmonyOS —— Remote Communication Kit 定制处理行为(ProcessingConfiguration)速记笔记
笔记·华为·harmonyos
氤氲息9 小时前
鸿蒙 ArkTs 的WebView如何与JS交互
javascript·交互·harmonyos
遇到困难睡大觉哈哈9 小时前
HarmonyOS支付接入证书准备与生成指南
华为·harmonyos
赵浩生9 小时前
鸿蒙技术干货10:鸿蒙图形渲染基础,Canvas绘图与自定义组件实战
harmonyos
赵浩生9 小时前
鸿蒙技术干货9:deviceInfo 设备信息获取与位置提醒 APP 整合
harmonyos
豫狮恒9 小时前
OpenHarmony Flutter 分布式多模态交互:融合音视频、手势与环境感知的跨端体验革新
flutter·wpf·openharmony
BlackWolfSky10 小时前
鸿蒙暂未归类知识记录
华为·harmonyos
waeng_luo11 小时前
[鸿蒙2025领航者闯关] ArkUI动画实战
鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结