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

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 @ 2024-10-28 21:01  为敢技术  阅读(10)  评论(0编辑  收藏  举报