0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙应用Stage模型【应用/组件级配置】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-30 14:19 次阅读

应用/组件级配置

在开发应用时,需要配置应用的一些标签,例如应用的包名、图标等标识特征的属性。本文描述了在开发应用需要配置的一些关键标签。

应用包名配置

应用需要在工程的AppScope目录下的[app.json5配置文件]中配置bundleName标签,该标签用于标识应用的唯一性。推荐采用反域名形式命名(如com.example.demo,建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以多级)。

图标和标签配置

图标和标签通常一起配置,可以分为应用图标、应用标签和入口图标、入口标签,分别对应[app.json5配置文件]和[module.json5配置文件]中的icon和label标签。

应用图标和标签通常用于标识整个应用,可以在标识应用的界面使用该类型图标和标签。比如:

  • 设置应用中,需要展示应用列表时
  • 在隐私管理中,需要展示应用申请的权限时
  • 在状态栏显示通知消息时
  • 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

入口图标和标签是应用安装完成后可以在设备桌面上显示出来的,如下图所示。入口图标是以[UIAbility]为粒度,支持同一个应用存在多个入口图标和入口标签,点击后进入对应的UIAbility界面。比如:

  • 桌面上需要显示图标时
  • 最近任务列表中显示时

图1 图标和标签

application-component-configuration-stage

应用图标和标签配置

应用图标需要在工程的AppScope目录下的[app.json5配置文件]中配置icon标签。应用图标需配置为图片的资源索引,配置完成后,该图片即为应用的图标。

应用标签需要在工程的AppScope模块下的[app.json5配置文件]中配置label标签。标识应用对用户显示的名称,需要配置为字符串资源的索引。

{
  "app": {
    "icon": "$media:app_icon",
    "label": "$string:app_name"
    ...
  }
}

入口图标和标签配置

入口图标和标签配置方式

Stage模型支持对组件配置入口图标和入口标签。入口图标和入口标签会显示在桌面上。

入口图标需要在[module.json5配置文件]中配置,在abilities标签下面有icon标签。例如希望在桌面上显示该UIAbility的图标,则需要在skills标签下面的entities中添加"entity.system.home"、actions中添加"ohos.want.action.home"。同一个应用有多个UIAbility配置上述字段时,桌面上会显示出多个图标,分别对应各自的UIAbility。

{
  "module": {
    ...
    "abilities": [
      {
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "ohos.want.action.home"
            ]
          }
        ],
      }
    ]
  }
}

入口图标和标签管控规则

系统对无图标应用实施严格管控,防止一些恶意应用故意配置无入口图标,导致用户找不到软件所在的位置,无法操作卸载应用,在一定程度上保证用户终端设备的安全。

如果应用确需隐藏入口图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考[应用特权配置指南]。详细的入口图标及入口标签的显示规则如下。

  • HAP中包含UIAbility
    • 在module.json5配置文件的abilities标签中设置了入口图标
      • 该应用没有隐藏图标的特权
        • 系统将使用该UIAbility配置的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到该UIAbility首页。
        • 系统将使用该UIAbility配置的label作为入口标签,并显示在桌面上,如果没有配置label,系统将使用app.json5中的label作为入口标签,并显示在桌面上。
      • 该应用具有隐藏图标的特权
        • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。
    • 在module.json5配置文件的abilities标签中未设置入口图标
      • 该应用没有隐藏图标的特权
        • 系统将使用app.json5中的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到应用管理中对应的应用详情页面,如下图所示。
        • 系统将使用app.json5中的label作为入口标签,并显示在桌面上。
      • 该应用具有隐藏图标的特权
        • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。
  • HAP中不包含UIAbility
    • 该应用没有隐藏图标的特权
      • 系统将使用app.json5中的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到应用管理中对应的应用详情页面,如下图所示。
      • 系统将使用app.json5中的label作为入口标签,并显示在桌面上。
    • 该应用具有隐藏图标的特权
      • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。
      • HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

鸿蒙文档.png
图2 应用的详情页示意图

应用的详情页例图

应用版本声明配置

应用版本声明需要在工程的AppScope目录下的[app.json5配置文件]中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。

Module支持的设备类型配置

Module支持的设备类型需要在[module.json5配置文件]中配置[deviceTypes标签],如果deviceTypes标签中添加了某种设备,则表明当前的Module支持在该设备上运行。

Module权限配置

Module访问系统或其他应用受保护部分所需的权限信息需要在[module.json5配置文件]中配置[requestPermissions标签]。该标签用于声明需要申请权限的名称、申请权限的原因以及权限使用的场景。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2841

    浏览量

    48067
  • 组件
    +关注

    关注

    1

    文章

    434

    浏览量

    17662
  • 鸿蒙
    +关注

    关注

    55

    文章

    2123

    浏览量

    42274
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 module的切换

    从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件mod
    的头像 发表于 06-27 14:16 133次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>切换<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指导 module的切换

    鸿蒙开发Ability Kit程序框架服务:Stage模型启动FA模型PageAbility

    本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件
    的头像 发表于 06-26 09:50 128次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>启动FA<b class='flag-5'>模型</b>PageAbility

    鸿蒙开发Ability Kit程序框架服务:Stage模型绑定FA模型ServiceAbility

    本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件
    的头像 发表于 06-25 21:47 74次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>绑定FA<b class='flag-5'>模型</b>ServiceAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型启动Stage模型UIAbility

    本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件
    的头像 发表于 06-25 16:00 165次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>启动<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型绑定Stage模型ServiceExtensionAbility

    本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件
    的头像 发表于 06-25 10:43 92次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>绑定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型Stage模型应用组件互通综述

    FA模型Stage模型是两套不同的应用模型,他们拥有各自的组件。FA模型提供三种应用
    的头像 发表于 06-24 16:43 193次阅读
    <b class='flag-5'>鸿蒙</b>开发Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>与<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>应用<b class='flag-5'>组件</b>互通综述

    鸿蒙开发:【Stage模型应用配置文件】

    应用配置文件中包含应用配置信息、应用组件信息、权限信息、开发者自定义信息等,这些信息在编译构建、分发和运行解决分别提供给编译工具、应用市场和操作系统使用。
    的头像 发表于 06-15 09:15 547次阅读
    <b class='flag-5'>鸿蒙</b>开发:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>应用<b class='flag-5'>配置</b>文件】

    鸿蒙Ability Kit(程序框架服务)【组件启动规则(Stage模型)】

    组件启动规则(Stage模型) 启动组件是指一切启动或连接应用组件的行为: 启动UIAbility、ServiceExtensionAbil
    的头像 发表于 06-10 18:47 413次阅读
    <b class='flag-5'>鸿蒙</b>Ability Kit(程序框架服务)【<b class='flag-5'>组件</b>启动规则(<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>)】

    鸿蒙OS开发案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的创建与使用。
    的头像 发表于 04-09 17:13 619次阅读
    <b class='flag-5'>鸿蒙</b>OS开发案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>卡片】

    Stage 模型深入解读

    HarmonyOS 3.1 版本(API 9)推出了全新应用开发模型 - Stage 模型,该模型重新定义了应用开发的能力边界,从应用开发模型
    的头像 发表于 02-18 09:28 658次阅读
    <b class='flag-5'>Stage</b> <b class='flag-5'>模型</b>深入解读

    鸿蒙Stage模型--概述

    等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型Stage模型。 设计思想 Stage
    的头像 发表于 01-29 13:59 893次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>--概述

    鸿蒙Ability开发-Stage模型下Ability的创建和使用

    对Ability开发技术的简单运用,更多的鸿蒙开发技术可以前往我主页查询,下面分享鸿蒙开发4.0技术分布(略缩图): 高清完整版技术学习路线图如下寻找保存(附鸿蒙文档) 基于Stage
    发表于 01-08 15:34

    鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

    独标记接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 .import ExtensionAbility from
    发表于 12-20 16:12

    鸿蒙原生应用/元服务开发-Stage模型能力接口(六)

    的起始版本。本模块接口仅可在Stage模型下使用。 二、 导入模块 import contextConstant from \'@ohos.app.ability.contextConstant\'; 三
    发表于 12-18 14:40

    OpenHarmony应用模型的构成要素与Stage优势

    应用开发更简单、高效。 二、Stage主推模型优势 Stage模型之所以成为主推模型,源于其设计思想。S
    发表于 09-26 16:48