有牺牲多壮志,敢教日月换新天。为

HarmonyOS:一次开发,多端部署(2)功能级一多开发

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen
➤原文地址:https://www.cnblogs.com/strengthen/p/18511636
➤如果链接不是为敢技术的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

  

 一、SysCap机制介绍:HarmonyOS使用SysCap机制(即SystemCapability),可以帮助开发者仅关注设备的系统能力,而不用考虑成百上千种具体的设备类型,降低多设备应用开发难度。在HarmonyOS应用开发时,为开发者提供了一个统一的HarnonyOS SDK,进行多设备的开发。

 二、SysCap机制介绍(1):能力集

1、系统能力集:操作系统中每一个相对独立的特性,如蓝牙,WIFI,NFC,摄像头等,都是系统能力之一。

2、支持能力集:描述当前设备能够支持的哪些功能。

3、要求能力集:描述当前应用,具有哪些能力。

4、根据能力的交集、并集、差集来实现应用的安装和分发,通过设备支持能力集和应用要求能力集,控制多设备应用的分发和安装。如下图:应用B有NFC功能,但在设备A没有NFC功能,则设备A不支持安装和分发应用B。

 三、SysCap机制介绍(2):canUse接口。

如果一定要求应用B可以安装到设备A中,可以在编码阶段调用canUse接口。在编码阶段,开发者可以通过canlUse接口,判断目标设备是否支持某系统能力,进而执行不同的业务逻辑。通常当设备不支持某种能力时,运行到这部分代码后,给出友好弹窗,避免应用crash崩溃。

复制代码
  aboutToAppear() {
  if(canIUse('SystemCapability.Communication.NFC.Core')) {
    controller.on('nfcstateChange',(err, nfcstate))=>{
    this.message = 'nfcState: ' + nfcState
  })
  } else {
    this.message = 'This device does not support NFC.'
   }
  }
复制代码

 

  

posted @   为敢技术  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2018-10-28 [Swift]八大排序算法(八):基数排序
2018-10-28 [Swift]八大排序算法(七):归并排序
2018-10-28 [Swift]八大排序算法(六):希尔排序
2018-10-28 [Swift]八大排序算法(五):插入排序
2018-10-28 [Swift]八大排序算法(四):堆排序
2018-10-28 [Swift]八大排序算法(三):选择排序 和 简单选择排序
2018-10-28 [Swift]八大排序算法(二):快速排序
点击右上角即可分享
微信分享提示
哥伦布
09:09发布
哥伦布
09:09发布
3°
多云
东南风
3级
空气质量
相对湿度
47%
今天
中雨
3°/15°
周三
中雨
3°/13°
周四
小雪
-1°/6°