HarmonyOS鸿蒙Next中普通应用如何使用系统API

HarmonyOS鸿蒙Next中普通应用如何使用系统API 作者:坚果,公众号:“大前端之旅”,哔哩哔哩,OpenHarmony布道师,OpenHarmony校源行开源大使,电子发烧友鸿蒙MVP,51CTO博客专家博主,阿里云博客专家。

前提是要替换为Full SDK

有时候,我们需要使用系统API,但是我们新建一个工程时,应用的类型默认为hos_normal_app(普通应用),APL级别默认为normal。

这个时候,我们就需要做些修改,如何修改呢?

我这里给大家给一个参考。

我们就拿这个权限举例

ohos.permission.SYSTEM_FLOAT_WINDOW

允许应用使用悬浮窗的能力。

权限级别:system_basic

授权方式:system_grant

ACL使能:TRUE

首先需要针对两种不同的模型,去声明权限

声明权限

Stage模型

使用Stage模型的应用,需要在module.json5配置文件中声明权限。

{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.SYSTEM_FLOAT_WINDOW",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"always"
        }
      }
    ]
  }
}

FA模型

使用FA模型的应用,需要在config.json配置文件中声明权限。

{
  "module" : {
    // ...
    "reqPermissions":[
      {
        "name" : "ohos.permission.SYSTEM_FLOAT_WINDOW",
        "reason": "$string:reason",
        "usedScene": {
          "ability": [
            "FormAbility"
          ],
          "when":"always"
        }
      },
    ]
  }
}

修改HarmonyAppProvision配置文件

开发者可以参考以下步骤,修改HarmonyAppProvision配置文件。

  1. 打开OpenHarmony SDK所在目录(可通过DevEco Studio菜单栏中单击File > Settings > OpenHarmony SDK界面查看 )。
  2. 在SDK目录下,进入Toolchains > {Version} > lib文件夹,打开“UnsgnedReleasedProfileTemplate.json”文件。
  3. 根据实际需求,修改对应的字段。

这里有两个办法:

  1. 找到allowed-acls这个字段。

由权限说明查询的信息得知,权限的ACL使能为TRUE,这意味着我们可以通过ACL方式申请

将所需申请的权限中高于当前应用APL等级的,添加到allowed-acls列表中,,如下所示:

"acls": {
  "allowed-acls": [
    "ohos.permission.SYSTEM_FLOAT_WINDOW"
  ]
},

  1. 还有一个办法就是

修改apl字段的值为system_basic (system_core>system_basic>normal),高等级的应用可以申请该级别

{
  ...
  "bundle-info":{
    "developer-id":"OpenHarmony",
    ...
    "apl":"system_basic",
    "app-feature":"hos_system_app"
  },
  ...
}
  1. 完成以上步骤后,打开DevEco Studio工具进行自动化签名即可。

参考文档

应用权限列表


更多关于HarmonyOS鸿蒙Next中普通应用如何使用系统API的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

老哥可以出一期openharmony应用连接串口通信的帖子吗?

更多关于HarmonyOS鸿蒙Next中普通应用如何使用系统API的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,普通应用可以通过以下步骤使用系统API:

  1. 导入API模块:在应用的build.gradle文件中添加所需的系统API依赖。
  2. 声明权限:在config.json文件中声明应用所需的权限。
  3. 调用API:在代码中直接调用系统API,如ohos.system.DeviceInfo等。
  4. 处理回调:根据API的异步特性,处理回调或Promise返回的结果。

确保应用符合HarmonyOS的开发规范,并通过DevEco Studio进行调试和测试。

回到顶部