應用/組件級配置
在開發應用時,需要配置應用的一些標簽,例如應用的包名、圖標等標識特征的屬性。本文描述了在開發應用需要配置的一些關鍵標簽。
應用包名配置
應用需要在工程的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 圖標和標簽
應用圖標和標簽配置
應用圖標需要在工程的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作為入口標簽,并顯示在桌面上。
- 該應用具有隱藏圖標的特權
- 桌面應用查詢時不返回應用信息,不會在桌面上顯示對應的入口圖標和標簽。
- 該應用沒有隱藏圖標的特權
- 在module.json5配置文件的abilities標簽中設置了入口圖標
- HAP中不包含UIAbility
- 該應用沒有隱藏圖標的特權
- 系統將使用app.json5中的icon作為入口圖標,并顯示在桌面上。用戶點擊該圖標,頁面跳轉到應用管理中對應的應用詳情頁面,如下圖所示。
- 系統將使用app.json5中的label作為入口標簽,并顯示在桌面上。
- 該應用具有隱藏圖標的特權
- 桌面應用查詢時不返回應用信息,不會在桌面上顯示對應的入口圖標和標簽。
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
- 該應用沒有隱藏圖標的特權
圖2 應用的詳情頁示意圖
應用版本聲明配置
應用版本聲明需要在工程的AppScope目錄下的[app.json5配置文件]中配置versionCode標簽和versionName標簽。versionCode用于標識應用的版本號,該標簽值為32位非負整數。此數字僅用于確定某個版本是否比另一個版本更新,數值越大表示版本越高。versionName標簽標識版本號的文字描述。
Module支持的設備類型配置
Module支持的設備類型需要在[module.json5配置文件]中配置[deviceTypes標簽],如果deviceTypes標簽中添加了某種設備,則表明當前的Module支持在該設備上運行。
Module權限配置
Module訪問系統或其他應用受保護部分所需的權限信息需要在[module.json5配置文件]中配置[requestPermissions標簽]。該標簽用于聲明需要申請權限的名稱、申請權限的原因以及權限使用的場景。
審核編輯 黃宇
-
模型
+關注
關注
1文章
3255瀏覽量
48905 -
組件
+關注
關注
1文章
513瀏覽量
17849 -
鴻蒙
+關注
關注
57文章
2365瀏覽量
42896
發布評論請先 登錄
相關推薦
評論