ServiceAbility組件概述
ServiceAbility,即"基于Service模板的Ability",主要用于后臺(tái)運(yùn)行任務(wù)(如執(zhí)行音樂(lè)播放、文件下載等),不提供用戶交互界面。ServiceAbility可由其他應(yīng)用或PageAbility啟動(dòng),即使用戶切換到其他應(yīng)用,ServiceAbility仍將在后臺(tái)繼續(xù)運(yùn)行。
ServiceAbility組件配置
與PageAbility類似,ServiceAbility的相關(guān)配置在config.json配置文件的"module"對(duì)象的"abilities"對(duì)象中,與PageAbility的區(qū)別在于"type"屬性及"backgroundModes"屬性。
表1 ServiceAbility部分配置項(xiàng)說(shuō)明
屬性名稱 | 含義開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md ]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
type | 表示Ability的類型。取值為"service"時(shí)表示該Ability是基于Service模板開(kāi)發(fā)的Ability。 | 字符串 | 否 |
backgroundModes | 表示后臺(tái)服務(wù)的類型,可以為一個(gè)服務(wù)配置多個(gè)后臺(tái)服務(wù)類型。該標(biāo)簽僅適用于service類型的Ability。取值范圍如下: dataTransfer:通過(guò)網(wǎng)絡(luò)/對(duì)端設(shè)備進(jìn)行數(shù)據(jù)下載、備份、分享、傳輸?shù)葮I(yè)務(wù)。 audioPlayback:音頻輸出業(yè)務(wù)。 audioRecording:音頻輸入業(yè)務(wù)。 pictureInPicture:畫中畫、小窗口播放視頻業(yè)務(wù)。 voip:音視頻電話、VOIP業(yè)務(wù)。 location:定位、導(dǎo)航業(yè)務(wù)。 bluetoothInteraction:藍(lán)牙掃描、連接、傳輸業(yè)務(wù)。 wifiInteraction:WLAN掃描、連接、傳輸業(yè)務(wù)。 screenFetch:錄屏、截屏業(yè)務(wù)。 multiDeviceConnection:多設(shè)備互聯(lián)業(yè)務(wù)。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
module對(duì)象內(nèi)部結(jié)構(gòu)
module對(duì)象包含HAP的配置信息。
表1****module對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
mainAbility | 服務(wù)中心圖標(biāo)露出的Ability,常駐進(jìn)程拉起時(shí)會(huì)啟動(dòng)mainAbility。 | 字符串 | 可缺省,缺省值為空。 |
package | 標(biāo)識(shí)HAP的包結(jié)構(gòu)名稱,在應(yīng)用內(nèi)保證唯一性。采用反向域名格式(建議與HAP的工程目錄保持一致)。字符串長(zhǎng)度為1-127個(gè)字節(jié)。 | 字符串 | 不可缺省。 |
name | 標(biāo)識(shí)HAP的類名。采用反向域名方式標(biāo)識(shí),前綴要與同級(jí)的package標(biāo)簽指定的包名一致,也可采用"."開(kāi)頭的命名方式。字符串長(zhǎng)度不超過(guò)255字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
description | 標(biāo)識(shí)HAP的描述信息。字符串長(zhǎng)度不超過(guò)255字節(jié)。如果字符串超出長(zhǎng)度或者需要支持多語(yǔ)言,可以采用資源索引的方式添加描述內(nèi)容。 | 字符串 | 可缺省,缺省值為空。 |
supportedModes | 標(biāo)識(shí)應(yīng)用支持的運(yùn)行模式,當(dāng)前只定義了駕駛模式(drive)。該標(biāo)簽只適用于車機(jī)。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
deviceType | 標(biāo)識(shí)允許Ability運(yùn)行的設(shè)備類型。系統(tǒng)預(yù)定義的設(shè)備類型包括:tablet(平板)、tv(智慧屏)、car(車機(jī))、wearable(智能穿戴)等。 | 字符串?dāng)?shù)組 | 不可缺省。 |
distro | 標(biāo)識(shí)HAP發(fā)布的具體描述。 | 對(duì)象 | 不可缺省。 |
metaData | 標(biāo)識(shí)HAP的元信息。 | 對(duì)象 | 可缺省,缺省值為空。 |
abilities | 標(biāo)識(shí)當(dāng)前模塊內(nèi)的所有Ability。采用對(duì)象數(shù)據(jù)格式。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
js | 標(biāo)識(shí)基于ArkUI框架開(kāi)發(fā)的JS模塊集合,其中的每個(gè)元素代表一個(gè)JS模塊的信息。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
shortcuts | 標(biāo)識(shí)應(yīng)用的快捷方式信息。采用對(duì)象數(shù)組格式,其中的每個(gè)元素表示一個(gè)快捷方式對(duì)象。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
reqPermissions | 標(biāo)識(shí)應(yīng)用運(yùn)行時(shí)向系統(tǒng)申請(qǐng)的權(quán)限。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
colorMode | 標(biāo)識(shí)應(yīng)用自身的顏色模式,目前支持如下三種模式: - dark:表示按照深色模式選取資源。 - light:表示按照淺色模式選取資源。 - auto:表示跟隨系統(tǒng)的顏色模式值選取資源。 | 字符串 | 可缺省,缺省值為"auto"。 |
distroFilter | 該標(biāo)簽下的子標(biāo)簽均為可選字段,用于定義HAP對(duì)應(yīng)的細(xì)分設(shè)備規(guī)格的分發(fā)策略,以便應(yīng)用市場(chǎng)在云端分發(fā)HAP時(shí)做精準(zhǔn)匹配。該標(biāo)簽需要配置在/resource/profile資源目錄下;在進(jìn)行分發(fā)時(shí),通過(guò)deviceType與下表屬性的匹配關(guān)系,唯一確定一個(gè)用于分發(fā)到設(shè)備的HAP。 | 對(duì)象 | 可缺省,缺省值為空。但當(dāng)應(yīng)用中包含多個(gè)entry模塊時(shí),必須配置該標(biāo)簽。 |
commonEvents | 定義了公共事件靜態(tài)訂閱者的信息,該字段中需要聲明靜態(tài)訂閱者的名稱、權(quán)限要求及訂閱事件列表信息,當(dāng)訂閱的公共事件發(fā)送時(shí),該公共事件靜態(tài)訂閱者將被拉起。這里的靜態(tài)訂閱者區(qū)分于常用的動(dòng)態(tài)訂閱者,前者無(wú)需在業(yè)務(wù)代碼中主動(dòng)調(diào)用訂閱事件的接口,在公共事件發(fā)布時(shí)可能未被拉起,而動(dòng)態(tài)訂閱者則在業(yè)務(wù)代碼中主動(dòng)調(diào)用公共事件訂閱的相關(guān)API,因此需要應(yīng)用處于活動(dòng)狀態(tài)。 | 對(duì)象數(shù)組 | 可缺省,缺省為空。 |
entryTheme | 此標(biāo)簽標(biāo)識(shí)系統(tǒng)內(nèi)部主題的關(guān)鍵字。將標(biāo)記值設(shè)置為名稱的資源索引。 | 字符串 | 可缺省,缺省值為空。 |
testRunner | 此標(biāo)簽用于支持對(duì)測(cè)試框架的配置。 | 對(duì)象 | 可缺省,缺省值為空。 |
generateBuildHash | 標(biāo)識(shí)當(dāng)前HAP/HSP是否由打包工具生成哈希值。如果存在,則在系統(tǒng)OTA升級(jí)但應(yīng)用的[version下的code]保持不變時(shí),可根據(jù)哈希值判斷應(yīng)用是否需要升級(jí)。** 注:該字段僅對(duì)預(yù)置應(yīng)用生效。** | 布爾值 | 該標(biāo)簽可缺省, 缺省值為false。 |
libIsolation | 用于區(qū)分同應(yīng)用不同hap下的so文件,以防止so沖突。 - true:當(dāng)前hap的so會(huì)儲(chǔ)存在libs目錄中以Module名命名的路徑下。 - false:當(dāng)前hap的so會(huì)直接儲(chǔ)存在libs目錄中。 | 布爾值 | 該標(biāo)簽可缺省, 缺省值為false。 |
module示例:
{
"module": {
"mainAbility": ".EntryAbility",
"deviceType": [
"default",
"tablet"
],
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "unspecified",
"visible": true,
"srcPath": "EntryAbility",
"name": ".EntryAbility",
"srcLanguage": "ets",
"icon": "$media:icon",
"description": "$string:MainAbility_desc",
"formsEnabled": false,
"label": "$string:MainAbility_label",
"type": "page",
"launchType": "multiton"
}
],
"distro": {
"moduleType": "entry",
"installationFree": false,
"deliveryWithInstall": true,
"moduleName": "entry"
},
"package": "com.example.entry",
"srcPath": "",
"name": ".entry",
"js": [
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"pages": [
"pages/Index"
],
"name": ".EntryAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
distro對(duì)象內(nèi)部結(jié)構(gòu)
表2****distro對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
moduleName | 標(biāo)識(shí)當(dāng)前HAP的名稱,最大長(zhǎng)度為31個(gè)字節(jié)。 在應(yīng)用升級(jí)時(shí),該名稱允許修改,但需要應(yīng)用適配Module相關(guān)數(shù)據(jù)目錄的遷移,可使用[文件操作接口]。 | 字符串 | 不可缺省。 |
moduleType | 標(biāo)識(shí)當(dāng)前HAP的類型,包括三種類型:entry、feature和har。 | 字符串 | 不可缺省。 |
installationFree | 標(biāo)識(shí)當(dāng)前HAP是否支持免安裝特性。true:表示支持免安裝特性,且符合免安裝約束。false:表示不支持免安裝特性。另外還需注意:當(dāng)entry.hap該字段配置為true時(shí),與該entry.hap相關(guān)的所有feature.hap該字段也需要配置為true。當(dāng)entry.hap該字段配置為false時(shí),與該entry.hap相關(guān)的各feature.hap該字段可按業(yè)務(wù)需求配置true或false。 | 布爾值 | 不可缺省。 |
deliveryWithInstall | 標(biāo)識(shí)當(dāng)前HAP是否在用戶主動(dòng)安裝HAP所在應(yīng)用的時(shí)候一起安裝。true: 安裝應(yīng)用時(shí)當(dāng)前HAP隨應(yīng)用一起下載安裝。false:安裝應(yīng)用時(shí)當(dāng)前HAP并不下載安裝,后續(xù)使用是按需下載。 | 布爾值 | 不可缺省。 |
distro示例:
"distro": {
"moduleName": "ohos_entry",
"moduleType": "entry",
"installationFree": true,
"deliveryWithInstall": true
}
metadata對(duì)象內(nèi)部結(jié)構(gòu)
表3****metadata對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
parameters | 標(biāo)識(shí)調(diào)用Ability時(shí)所有調(diào)用參數(shù)的元信息。每個(gè)調(diào)用參數(shù)的元信息由以下三個(gè)標(biāo)簽組成:description、name、type。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空 |
results | 標(biāo)識(shí)Ability返回值的元信息。每個(gè)返回值的元信息由以下三個(gè)標(biāo)簽組成:description、name、type。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
customizeData | 該標(biāo)簽標(biāo)識(shí)父級(jí)組件的自定義元信息,Parameters和results在application不可配。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
parameters對(duì)象內(nèi)部結(jié)構(gòu)
表4****parameters對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
description | 標(biāo)識(shí)對(duì)調(diào)用參數(shù)的描述,可以是表示描述內(nèi)容的字符串,也可以是對(duì)描述內(nèi)容的資源索引以支持多語(yǔ)言。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
name | 標(biāo)識(shí)調(diào)用參數(shù)的名稱。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 不可缺省。 |
type | 標(biāo)識(shí)調(diào)用參數(shù)的類型,如Integer。 | 字符串 | 不可缺省。 |
results對(duì)象內(nèi)部結(jié)構(gòu)
表5****results對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
description | 標(biāo)識(shí)對(duì)返回值的描述,可以是表示描述內(nèi)容的字符串,也可以是對(duì)描述內(nèi)容的資源索引以支持多語(yǔ)言。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
name | 標(biāo)識(shí)返回值的名字。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
type | 標(biāo)識(shí)返回值的類型,如Integer。 | 字符串 | 不可缺省 |
customizeData對(duì)象的內(nèi)部結(jié)構(gòu)
表6****customizeData對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)數(shù)據(jù)項(xiàng)的鍵名稱,字符串類型(最大長(zhǎng)度255字節(jié))。 | 字符串 | 可缺省,缺省值為空。 |
value | 標(biāo)識(shí)數(shù)據(jù)項(xiàng)的值名稱,字符串類型(最大長(zhǎng)度255字節(jié))。 | 字符串 | 可缺省,缺省值為空。 |
extra | 標(biāo)識(shí)用戶自定義數(shù)據(jù)格式,標(biāo)簽值為標(biāo)識(shí)該數(shù)據(jù)的資源的索引值。 | 字符串 | 可缺省,缺省值為空。 |
metadata對(duì)象示例:
"metaData": {
"parameters" : [{
"name" : "a test for metadata parameter",
"type" : "Float",
// "$string:parameters_description"為文件資源索引值
"description" : "$string:parameters_description"
}],
"results" : [{
"name" : "a test for metadata result",
"type" : "Float",
"description" : "$string:results_description"
}],
"customizeData" : [{
"name" : "a customizeData",
"value" : "string",
"extra" : "$string:customizeData_description"
}]
}
deviceType標(biāo)簽
表7****deviceType標(biāo)簽配置說(shuō)明
設(shè)備類型 | 枚舉值 | 說(shuō)明 |
---|---|---|
平板 | tablet | - |
智慧屏 | tv | - |
智能手表 | wearable | 系統(tǒng)能力較豐富的手表,具備電話功能。 |
車機(jī) | car | - |
默認(rèn)設(shè)備 | default | 能夠使用全部系統(tǒng)能力的設(shè)備。 |
abilities對(duì)象的內(nèi)部結(jié)構(gòu)
表8****abilities對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
process | 運(yùn)行應(yīng)用程序或Ability的進(jìn)程名稱。如果在deviceConfig標(biāo)記中配置了進(jìn)程,則應(yīng)用程序的所有能力都在此進(jìn)程中運(yùn)行。您還可以為特定能力設(shè)置流程屬性,以便該能力可以在此流程中運(yùn)行。如果此屬性設(shè)置為與其他應(yīng)用程序相同的進(jìn)程名稱,則所有這些應(yīng)用程序可以在同一進(jìn)程中運(yùn)行,前提是他們具有相同的聯(lián)合用戶ID和相同的簽名。該標(biāo)簽最大字節(jié)數(shù)為31個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
name | 標(biāo)識(shí)Ability名稱。取值可采用反向域名方式表示,由包名和類名組成,如"com.example.myapplication.EntryAbility";也可采用"."開(kāi)頭的類名方式表示,如".EntryAbility"。 Ability的名稱,需在一個(gè)應(yīng)用的范圍內(nèi)保證唯一。說(shuō)明:在使用DevEco Studio新建項(xiàng)目時(shí),默認(rèn)生成首個(gè)Ability的配置,即"config.json"中"EntryAbility"的配置。如使用其他IDE工具,可自定義名稱。該標(biāo)簽最大長(zhǎng)度為127個(gè)字節(jié)。 | 字符串 | 不可缺省 |
description | 標(biāo)識(shí)對(duì)Ability的描述。取值可以是描述性內(nèi)容,也可以是對(duì)描述性內(nèi)容的資源索引,以支持多語(yǔ)言。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
icon | 標(biāo)識(shí)Ability圖標(biāo)資源文件的索引。取值示例:$media:ability_icon。如果在該Ability的skills屬性中,actions的取值包含 "action.system.home",entities取值中包含"entity.system.home",則該Ability的icon將同時(shí)作為應(yīng)用的icon。如果存在多個(gè)符合條件的Ability,則取位置靠前的Ability的icon作為應(yīng)用的icon。 說(shuō)明:應(yīng)用的"icon"和"label"是用戶可感知配置項(xiàng),需要區(qū)別于當(dāng)前所有已有的應(yīng)用"icon"或"label"(至少有一個(gè)不同)。 | 字符串 | 可缺省,缺省值為空。 |
label | 標(biāo)識(shí)Ability對(duì)用戶顯示的名稱。取值是對(duì)該名稱的資源索引,支持多語(yǔ)言,例:$string:ability_label。如果在該Ability的skills屬性中,actions的取值包含 "action.system.home",entities取值中包含"entity.system.home",則該Ability的label將同時(shí)作為應(yīng)用的label。如果存在多個(gè)符合條件的Ability,則取位置靠前的Ability的label作為應(yīng)用的label。 說(shuō)明: 應(yīng)用的"icon"和"label"是用戶可感知配置項(xiàng),需要區(qū)別于當(dāng)前所有已有的應(yīng)用"icon"或"label"(至少有一個(gè)不同)。該標(biāo)簽為資源文件中定義的字符串的引用,或以"{}"包括的字符串。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
uri | 標(biāo)識(shí)Ability的統(tǒng)一資源標(biāo)識(shí)符。該標(biāo)簽最大長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 可缺省,對(duì)于data類型的Ability不可缺省。 |
launchType | 標(biāo)識(shí)Ability的啟動(dòng)模式,支持"multiton"和"singleton"兩種模式: multiton:表示該Ability可以有多實(shí)例。該模式適用于大多數(shù)應(yīng)用場(chǎng)景。 singleton:表示該Ability在所有任務(wù)棧中僅可以有一個(gè)實(shí)例。例如,具有全局唯一性的呼叫來(lái)電界面即采用"singleton"模式。該標(biāo)簽僅適用于默認(rèn)設(shè)備、平板、智慧屏、車機(jī)、智能穿戴。 | 字符串 | 可缺省,缺省值為"singleton"。 |
visible | 標(biāo)識(shí)Ability是否可以被其他應(yīng)用調(diào)用。 true:可以被其他應(yīng)用調(diào)用。 false:不能被其他應(yīng)用調(diào)用,包括無(wú)法被aa工具命令拉起應(yīng)用。 | 布爾類型 | 可缺省,缺省值為"false"。 |
permissions | 標(biāo)識(shí)其他應(yīng)用的Ability調(diào)用此Ability時(shí)需要申請(qǐng)的權(quán)限集合,一個(gè)數(shù)組元素為一個(gè)權(quán)限名稱。通常采用反向域名格式(最大255字節(jié)),取值為系統(tǒng)預(yù)定義的權(quán)限。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
skills | 標(biāo)識(shí)Ability能夠接收的want的特征。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
deviceCapability | 標(biāo)識(shí)Ability運(yùn)行時(shí)要求設(shè)備具有的能力,采用字符串?dāng)?shù)組的格式表示。該標(biāo)簽為數(shù)組,支持最多配置512個(gè)元素,單個(gè)元素最大字節(jié)長(zhǎng)度為64。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
metaData | 元數(shù)據(jù)。 | 對(duì)象 | 可缺省,缺省值為空。 |
type | 標(biāo)識(shí)Ability的類型。取值范圍如下: page:表示基于Page模板開(kāi)發(fā)的FA,用于提供與用戶交互的能力。 service:表示基于Service模板開(kāi)發(fā)的PA,用于提供后臺(tái)運(yùn)行任務(wù)的能力。 data:表示基于Data模板開(kāi)發(fā)的PA,用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問(wèn)對(duì)象。 CA:表示支持其他應(yīng)用以窗口方式調(diào)起該Ability。 | 字符串 | 不可缺省。 |
orientation | 標(biāo)識(shí)該Ability的顯示模式。該標(biāo)簽僅適用于page類型的Ability。取值范圍如下: unspecified:由系統(tǒng)自動(dòng)判斷顯示方向。 landscape:橫屏模式。 portrait:豎屏模式。 followRecent:跟隨棧中最近的應(yīng)用。 | 字符串 | 可缺省,缺省值為"unspecified"。 |
backgroundModes | 標(biāo)識(shí)后臺(tái)服務(wù)的類型,可以為一個(gè)服務(wù)配置多個(gè)后臺(tái)服務(wù)類型。該標(biāo)簽僅適用于service類型的Ability。取值范圍如下: dataTransfer:通過(guò)網(wǎng)絡(luò)/對(duì)端設(shè)備進(jìn)行數(shù)據(jù)下載、備份、分享、傳輸?shù)取?audioPlayback:音頻播放。 audioRecording:錄音。 pictureInPicture:畫中畫、小窗口播放視頻。 voip:音視頻電話、VOIP。 location:定位、導(dǎo)航。 bluetoothInteraction:藍(lán)牙掃描、連接、傳輸。 wifiInteraction:Wi-Fi掃描、連接、傳輸。 screenFetch:錄屏、截屏。 multiDeviceConnection:多設(shè)備互聯(lián)。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
grantPermission | 指定是否可以向Ability內(nèi)任何數(shù)據(jù)授予權(quán)限。 | 布爾值 | 可缺省,缺省值為空。 |
readPermission | 標(biāo)識(shí)讀取Ability的數(shù)據(jù)所需的權(quán)限。該標(biāo)簽僅適用于data類型的Ability。取值為長(zhǎng)度不超過(guò)255字節(jié)的字符串。該標(biāo)簽僅適用于默認(rèn)設(shè)備、平板、智慧屏、車機(jī)、智能穿戴。 | 字符串 | 可缺省,缺省為空。 |
writePermission | 標(biāo)識(shí)向Ability寫數(shù)據(jù)所需的權(quán)限。該標(biāo)簽僅適用于data類型的Ability。取值為長(zhǎng)度不超過(guò)255字節(jié)的字符串。 | 字符串 | 可缺省,缺省為空。 |
configChanges | 標(biāo)識(shí)Ability關(guān)注的系統(tǒng)配置集合。當(dāng)已關(guān)注的配置發(fā)生變更后,Ability會(huì)收到onConfigurationUpdated回調(diào)。取值范圍: mcc:表示IMSI移動(dòng)設(shè)備國(guó)家/地區(qū)代碼(MCC)發(fā)生變更。典型場(chǎng)景:檢測(cè)到SIM并更新MCC。 mnc:IMSI移動(dòng)設(shè)備網(wǎng)絡(luò)代碼(MNC)發(fā)生變更。典型場(chǎng)景:檢測(cè)到SIM并更新MNC。 locale:表示語(yǔ)言區(qū)域發(fā)生變更。典型場(chǎng)景:用戶已為設(shè)備文本的文本顯示選擇新的語(yǔ)言類型。 layout:表示屏幕布局發(fā)生變更。典型場(chǎng)景:當(dāng)前有不同的顯示形態(tài)都處于活躍狀態(tài)。 fontSize:表示字號(hào)發(fā)生變更。典型場(chǎng)景:用戶已設(shè)置新的全局字號(hào)。 orientation:表示屏幕方向發(fā)生變更。典型場(chǎng)景:用戶旋轉(zhuǎn)設(shè)備。 density:表示顯示密度發(fā)生變更。典型場(chǎng)景:用戶可能指定不同的顯示比例,或當(dāng)前有不同的顯示形態(tài)同時(shí)處于活躍狀態(tài)。 size:顯示窗口大小發(fā)生變更。 smallestSize:顯示窗口較短邊的邊長(zhǎng)發(fā)生變更。 colorMode:顏色模式發(fā)生變更。 | 字符串?dāng)?shù)組 | 可缺省,缺省為空。 |
mission | 標(biāo)識(shí)Ability指定的任務(wù)棧。該標(biāo)簽僅適用于page類型的Ability。默認(rèn)情況下應(yīng)用中所有Ability同屬一個(gè)任務(wù)棧。 | 字符串 | 可缺省,缺省為應(yīng)用的包名。 |
targetAbility | 標(biāo)識(shí)當(dāng)前Ability重用的目標(biāo)Ability。該標(biāo)簽僅適用于page類型的Ability。如果配置了targetAbility屬性,則當(dāng)前Ability(即別名Ability)的屬性中僅name、icon、label、visible、permissions、skills生效,其他屬性均沿用targetAbility中的屬性值。目標(biāo)Ability必須與別名Ability在同一應(yīng)用中,且在配置文件中目標(biāo)Ability必須在別名之前進(jìn)行聲明。 | 字符串 | 可缺省,缺省值為空。表示當(dāng)前Ability不是一個(gè)別名Ability。 |
formsEnabled | 標(biāo)識(shí)Ability是否支持卡片(forms)功能。該標(biāo)簽僅適用于page類型的Ability。 true:支持卡片能力。 false:不支持卡片能力。 | 布爾值 | 可缺省,缺省值為false。 |
forms | 標(biāo)識(shí)服務(wù)卡片的屬性。該標(biāo)簽僅當(dāng)formsEnabled為"true"時(shí),才能生效。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
srcLanguage | Ability開(kāi)發(fā)語(yǔ)言的類型,開(kāi)發(fā)者創(chuàng)建工程時(shí)由開(kāi)發(fā)者手動(dòng)選擇開(kāi)發(fā)語(yǔ)言。取值如下:"js"、"ets"、"java"。 | 字符串 | 可缺省,缺省值為"js"。 |
srcPath | 該標(biāo)簽標(biāo)識(shí)Ability對(duì)應(yīng)的JS組件代碼路徑,該標(biāo)簽最大長(zhǎng)度為127字節(jié)。 | 字符串 | 不可缺省。 |
uriPermission | 標(biāo)識(shí)該Ability有權(quán)訪問(wèn)的應(yīng)用程序數(shù)據(jù)。此屬性由模式和路徑子屬性組成。此屬性僅對(duì)類型提供者的能力有效。 | 對(duì)象 | 可缺省,缺省值為空。 |
startWindowIcon | 標(biāo)識(shí)該Ability啟動(dòng)頁(yè)面圖標(biāo)資源文件的索引。該標(biāo)簽僅適用于page類型的Ability。取值示例:$media:icon。 | 字符串 | 可缺省,缺省值為空。 |
startWindowBackground | 標(biāo)識(shí)該Ability啟動(dòng)頁(yè)面背景顏色資源文件的索引。該標(biāo)簽僅適用于page類型的Ability。取值示例:$color:red。 | 字符串 | 可缺省,缺省值為空。 |
removeMissionAfterTerminate | 該標(biāo)簽標(biāo)識(shí)Ability銷毀后是否從任務(wù)列表中移除任務(wù)。該標(biāo)簽僅適用于page類型的Ability。true表示銷毀后移除任務(wù), false表示銷毀后不移除任務(wù)。 | 布爾值 | 可缺省,缺省值為false。 |
不允許應(yīng)用隱藏入口圖標(biāo)
系統(tǒng)對(duì)無(wú)圖標(biāo)應(yīng)用實(shí)施嚴(yán)格管控,防止一些惡意應(yīng)用故意配置無(wú)入口圖標(biāo),導(dǎo)致用戶找不到軟件所在的位置,無(wú)法操作卸載應(yīng)用,在一定程度上保證用戶終端設(shè)備的安全。
入口圖標(biāo)的設(shè)置: 需要在配置文件(config.json)中abilities配置下設(shè)置icon,label以及skills,而且skills的配置下必須同時(shí)包含“ohos.want.action.home” 和 “entity.system.home”。
{
"module":{
...
"abilities": [{
"icon": "$media:icon",
"label": "Login",
"skills": [{
"actions": ["ohos.want.action.home"],
"entities": ["entity.system.home"],
"uris": []
}]
}],
...
}
}
如果應(yīng)用確需隱藏入口圖標(biāo),需要配置AllowAppDesktopIconHide應(yīng)用特權(quán),具體配置方式參考[應(yīng)用特權(quán)配置指南]。詳細(xì)的入口圖標(biāo)及入口標(biāo)簽的顯示規(guī)則如下。
- HAP中包含Page類型的PageAbility
- 配置文件(config.json)中abilities配置中設(shè)置了入口圖標(biāo)
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
- 系統(tǒng)將使用該P(yáng)ageAbility配置的icon作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁(yè)面跳轉(zhuǎn)到該P(yáng)ageAbility首頁(yè)。
- 系統(tǒng)將使用該P(yáng)ageAbility配置的label作為入口標(biāo)簽,并顯示在桌面上(如果沒(méi)有配置label,返回包名)。
- 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
- 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
- 配置文件(config.json)中abilities配置中未設(shè)置入口圖標(biāo)
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
- 系統(tǒng)將使用系統(tǒng)默認(rèn)圖標(biāo)作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁(yè)面跳轉(zhuǎn)到應(yīng)用管理中對(duì)應(yīng)的應(yīng)用詳情頁(yè)面(參考下圖)。
- 系統(tǒng)將使用應(yīng)用的包名作為入口標(biāo)簽,并顯示在桌面上。
- 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
- 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
- 配置文件(config.json)中abilities配置中設(shè)置了入口圖標(biāo)
- HAP中不包含Page類型的PageAbility
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
- 系統(tǒng)將使用系統(tǒng)默認(rèn)圖標(biāo)作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁(yè)面跳轉(zhuǎn)到應(yīng)用管理中對(duì)應(yīng)的應(yīng)用詳情頁(yè)面(參考下圖)。
- 系統(tǒng)將使用應(yīng)用的包名作為入口標(biāo)簽,并顯示在桌面上。
- 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
- 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。
- 該應(yīng)用沒(méi)有隱藏圖標(biāo)的特權(quán)
圖1 應(yīng)用的詳情頁(yè)示意圖
注:應(yīng)用詳情頁(yè)面中顯示的label可能與桌面上顯示的不同。如果非Page類型的PageAbility配置了入口圖標(biāo)和label,那么詳情頁(yè)中顯示的即為配置的。
uriPermission對(duì)象的內(nèi)部結(jié)構(gòu)
表9****uriPermission對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
path | uriPermission標(biāo)識(shí)的路徑,該標(biāo)簽最大字節(jié)長(zhǎng)度為255個(gè)字節(jié)。 | 字符串 | 不可缺省。 |
mode | uriPermission的匹配模式。 | 字符串 | 可缺省,缺省值為default。 |
abilities示例:
"abilities": [
{
"name": ".EntryAbility",
"description": "test main ability",
// $media:ic_launcher 為媒體類資源
"icon": "$media:ic_launcher",
// $string:example 為字符串類資源
"label": "$string:example",
"launchType": "multiton",
"orientation": "unspecified",
"permissions": [],
"visible": true,
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
]
}
],
"configChanges": [
"locale",
"layout",
"fontSize",
"orientation"
],
"type": "page",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:red",
"removeMissionAfterTerminate": true
},
{
"name": ".PlayService",
"description": "example play ability",
"icon": "$media:ic_launcher",
"label": "$string:example",
"launchType": "multiton",
"orientation": "unspecified",
"visible": false,
"skills": [
{
"actions": [
"action.play.music",
"action.stop.music"
],
"entities": [
"entity.audio"
]
}
],
"type": "service",
"backgroundModes": [
"audioPlayback"
]
},
{
"name": ".UserADataAbility",
"type": "data",
"uri": "dataability://com.example.world.test.UserADataAbility",
"visible": true
}
]
skills對(duì)象的內(nèi)部結(jié)構(gòu)
表10****skills對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
actions | 標(biāo)識(shí)能夠接收的want的action值,可以包含一個(gè)或多個(gè)action。取值通常為系統(tǒng)預(yù)定義的action值。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
entities | 標(biāo)識(shí)能夠接收的want的Ability的類別(如視頻、桌面應(yīng)用等),可以包含一個(gè)或多個(gè)entity。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
uris | 該標(biāo)簽標(biāo)識(shí)向want過(guò)濾器添加數(shù)據(jù)規(guī)范集合。該規(guī)范可以是只有數(shù)據(jù)類型(mimeType屬性),可以是只有URI,也可以是既有數(shù)據(jù)類型又有URI。 URI由其各個(gè)部分的單獨(dú)屬性指定:://:[ | ]。該標(biāo)簽可缺省,缺省值為空。 其中,scheme字段配置為uri時(shí)必配;當(dāng)只設(shè)置數(shù)據(jù)類型(mimeType)時(shí),則scheme字段為非必配項(xiàng)。 |
uris對(duì)象的內(nèi)部結(jié)構(gòu)
表11****uris對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
scheme | 標(biāo)識(shí)uri的scheme值。 | 字符串 | 不可缺省。 |
host | 標(biāo)識(shí)uri的host值。 | 字符串 | 可缺省,缺省值為空。 |
port | 標(biāo)識(shí)uri的port值。 | 字符串 | 可缺省,缺省值為空。 |
pathStartWith | 標(biāo)識(shí)uri的pathStartWith值。 | 字符串 | 可缺省,缺省值為空。 |
path | 標(biāo)識(shí)uri的path值。 | 字符串 | 可缺省,缺省值為空。 |
pathRegx | 標(biāo)識(shí)uri的pathRegx值。 | 字符串 | 可缺省,缺省值為空。 |
type | 標(biāo)識(shí)uri的type值。type為MIME-TYPE屬性,為資源的媒體類型,常見(jiàn)的類型有"audio/aac","text/css"等。 | 字符串 | 可缺省,缺省值為空。 |
skills示例:
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
],
"uris": [
{
"scheme": "http",
"host": "www.example.com",
"port": "8080",
"path": "query/student/name",
"type": "text/*"
}
]
}
]
reqPermissions權(quán)限申請(qǐng)
表12****reqPermissions權(quán)限申請(qǐng)字段說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 需要使用的權(quán)限名稱。 | 字符串 | 否 |
reason | 描述申請(qǐng)權(quán)限的原因。需要做多語(yǔ)種適配。 | 字符串 | 分情況:當(dāng)申請(qǐng)的權(quán)限為user_grant時(shí),必須填寫此字段,否則不允許在應(yīng)用市場(chǎng)上架;其他權(quán)限可缺省,缺省為空 |
usedScene | 描述權(quán)限使用的場(chǎng)景和時(shí)機(jī)。場(chǎng)景類型如下兩種: - ability:ability的名稱,可配置多個(gè)。 - when:調(diào)用時(shí)機(jī),可填的值有inuse(使用時(shí))、always(始終)。 | 對(duì)象 | 可缺省,缺省值為空。 when可缺省,缺省值為"inuse" |
usedScene對(duì)象內(nèi)部結(jié)構(gòu)
表13****usedScene對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
ability | 標(biāo)識(shí)哪些Ability需要此權(quán)限,里面配置Ability的名稱。 | 字符串?dāng)?shù)組 | 可以缺省,缺省表示所有Ability都需要此權(quán)限。 |
when | 標(biāo)識(shí)此權(quán)限的使用時(shí)間: inuse: 使用時(shí)需要此權(quán)限。 always: 所有時(shí)間都需要此權(quán)限。 | 枚舉值 | 可缺省,缺省值為空。 |
js對(duì)象的內(nèi)部結(jié)構(gòu)
表14****js對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)JS Component的名字。 | 字符串 | 不可缺省。 |
pages | 標(biāo)識(shí)JS Component的頁(yè)面用于列舉JS Component中每個(gè)頁(yè)面的路由信息,格式為“頁(yè)面路徑+頁(yè)面名稱”。其中,頁(yè)面路徑是以當(dāng)前Ability的srcPath字段取值為基準(zhǔn),例如srcPath取值為EntryAbility,則JS Component頁(yè)面路徑需要從EntryAbility的下一層開(kāi)始描述。該標(biāo)簽取值為數(shù)組,數(shù)組第一個(gè)元素代表JS FA首頁(yè)。 | 字符串?dāng)?shù)組 | 不可缺省。 |
window | 用于定義與顯示窗口相關(guān)的配置。 | 對(duì)象 | 可缺省,缺省值見(jiàn)表15。 |
type | 標(biāo)識(shí)JS應(yīng)用的類型。取值范圍如下: normal:標(biāo)識(shí)該JS Component為應(yīng)用實(shí)例。 form:標(biāo)識(shí)該JS Component為卡片實(shí)例。 | 字符串 | 可缺省,缺省值為"normal"。 |
mode | 定義JS組件的開(kāi)發(fā)模式。 | 對(duì)象 | 可缺省,缺省值為空。 |
window對(duì)象的內(nèi)部結(jié)構(gòu)
表15****window對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
designWidth | 標(biāo)識(shí)頁(yè)面設(shè)計(jì)基準(zhǔn)寬度。以此為基準(zhǔn),根據(jù)實(shí)際設(shè)備寬度來(lái)縮放元素大小。 | 數(shù)值 | 可缺省,缺省值為720px。 |
autoDesignWidth | 標(biāo)識(shí)頁(yè)面設(shè)計(jì)基準(zhǔn)寬度是否自動(dòng)計(jì)算。當(dāng)配置為true時(shí),designWidth將會(huì)被忽略,設(shè)計(jì)基準(zhǔn)寬度由設(shè)備寬度與屏幕密度計(jì)算得出。 | 布爾值 | 可缺省,缺省值為false。 |
mode對(duì)象的內(nèi)部結(jié)構(gòu)
表16****mode對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
type | 定義JS組件的功能類型。 | 字符串,取值為"pageAbility"、"form" | 可缺省,缺省值為pageAbility。 |
syntax | 定義JS組件的語(yǔ)法類型。 | 字符串,取值為"hml","ets" | 可缺省,默認(rèn)值為"hml"。 |
js示例:
"js": [
{
"name": ".EntryAbility",
"pages": [
"pages/index",
"pages/detail/detail"
],
"window": {
"designWidth": 720,
"autoDesignWidth": false
},
"type": "form",
"mode": {
"syntax": "ets",
"type": "pageAbility"
}
}
]
shortcuts對(duì)象的內(nèi)部結(jié)構(gòu)
表17****shortcuts對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
shortcutId | 標(biāo)識(shí)快捷方式的ID。字符串的最大長(zhǎng)度為63字節(jié)。 | 字符串 | 不可缺省。 |
label | 標(biāo)識(shí)快捷方式的標(biāo)簽信息,即快捷方式對(duì)外顯示的文字描述信息。取值可以是描述性內(nèi)容,也可以是標(biāo)識(shí)label的資源索引。字符串最大長(zhǎng)度為63字節(jié)。 | 字符串 | 可缺省,缺省為空。 |
icon | 標(biāo)識(shí)快捷方式的圖標(biāo)信息。取值為表示icon的資源索引。 | 字符串 | 可缺省,缺省為空。 |
intents | 標(biāo)識(shí)快捷方式內(nèi)定義的目標(biāo)intent信息集合,每個(gè)intent可配置兩個(gè)子標(biāo)簽,targetClass, targetBundle。 | 對(duì)象數(shù)組 | 可缺省,缺省為空。 |
intents對(duì)象的內(nèi)部結(jié)構(gòu)
表18****intents對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
targetClass | 標(biāo)識(shí)快捷方式目標(biāo)類名。 | 字符串 | 可缺省,缺省值為空。 |
targetBundle | 標(biāo)識(shí)快捷方式目標(biāo)Ability所在應(yīng)用的包名。 | 字符串 | 可缺省,缺省值為空。 |
shortcuts示例:
"shortcuts": [
{
"shortcutId": "id",
// $string:shortcut 為配置的字符串資源值
"label": "$string:shortcut",
"intents": [
{
"targetBundle": "com.example.world.test",
"targetClass": "com.example.world.test.entry.EntryAbility"
}
]
}
]
forms對(duì)象的內(nèi)部結(jié)構(gòu)
表19****forms對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)卡片的類名。字符串最大長(zhǎng)度為127字節(jié)。 | 字符串 | 不可缺省。 |
description | 標(biāo)識(shí)卡片的描述。取值可以是描述性內(nèi)容,也可以是對(duì)描述性內(nèi)容的資源索引,以支持多語(yǔ)言。字符串最大長(zhǎng)度為255字節(jié)。 | 字符串 | 可缺省,缺省為空。 |
isDefault | 標(biāo)識(shí)該卡片是否為默認(rèn)卡片,每個(gè)Ability有且只有一個(gè)默認(rèn)卡片。 true:默認(rèn)卡片。 false:非默認(rèn)卡片。 | 布爾值 | 不可缺省。 |
type | 標(biāo)識(shí)卡片的類型。取值范圍如下: JS:JS卡片。 Java:Java卡片。 | 字符串 | 不可缺省。 |
colorMode | 標(biāo)識(shí)卡片的主題樣式,取值范圍如下: auto:自適應(yīng)。 dark:深色主題。 light:淺色主題。 | 字符串 | 可缺省,缺省值為"auto"。 |
supportDimensions | 標(biāo)識(shí)卡片支持的外觀規(guī)格,取值范圍: 1 * 2:表示1行2列的二宮格。 2 * 1:表示2行1列的二宮格。 2 * 2:表示2行2列的四宮格。 2 * 4:表示2行4列的八宮格。 4 * 4:表示4行4列的十六宮格。 | 字符串?dāng)?shù)組 | 不可缺省。 |
defaultDimension | 標(biāo)識(shí)卡片的默認(rèn)外觀規(guī)格,取值必須在該卡片supportDimensions配置的列表中。 | 字符串 | 不可缺省。 |
updateEnabled | 標(biāo)識(shí)卡片是否支持周期性刷新,取值范圍: true:表示支持周期性刷新,可以在定時(shí)刷新(updateDuration)和定點(diǎn)刷新(scheduledUpdateTime)兩種方式任選其一,優(yōu)先選擇定時(shí)刷新。 false:表示不支持周期性刷新。 | 布爾類型 | 不可缺省。 |
scheduledUpdateTime | 標(biāo)識(shí)卡片的定點(diǎn)刷新的時(shí)刻,采用24小時(shí)制,精確到分鐘。 | 字符串 | 可缺省,缺省值為"0:0"。 |
updateDuration | 標(biāo)識(shí)卡片定時(shí)刷新的更新周期,單位為30分鐘,取值為自然數(shù)。 當(dāng)取值為0時(shí),表示該參數(shù)不生效。 當(dāng)取值為正整數(shù)N時(shí),表示刷新周期為30*N分鐘。 | 數(shù)值 | 可缺省,缺省值為"0"。 |
formConfigAbility | 標(biāo)識(shí)用于調(diào)整卡片的設(shè)施或活動(dòng)的名稱。 | 字符串 | 可缺省,缺省值為空。 |
jsComponentName | 標(biāo)識(shí)JS卡片的Component名稱。字符串最大長(zhǎng)度為127字節(jié)。僅當(dāng)卡片類型為JS卡片時(shí),需要配置該標(biāo)簽。 | 字符串 | 可缺省,缺省值為空。 |
metaData | 標(biāo)識(shí)卡片的自定義信息,包含customizeData數(shù)組標(biāo)簽。 | 對(duì)象 | 可缺省,缺省值為空。 |
formVisibleNotify | 標(biāo)識(shí)是否允許卡片使用卡片可見(jiàn)性通知。 true:允許。 false:不允許。 | 布爾值 | 可缺省,缺省值為false。 |
customizeData對(duì)象內(nèi)部結(jié)構(gòu)
表20****customizeData對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)數(shù)據(jù)項(xiàng)的鍵名稱。字符串最大長(zhǎng)度為255字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
value | 標(biāo)識(shí)數(shù)據(jù)項(xiàng)的值。字符串最大長(zhǎng)度為255字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
extra | 標(biāo)識(shí)當(dāng)前custom數(shù)據(jù)的格式,取值為表示extra的資源值。 | 字符串 | 可缺省,缺省值為空。 |
forms示例:
"forms": [
{
"name": "Form_Js",
"description": "It's Js Form",
"type": "JS",
"jsComponentName": "card",
"colorMode": "auto",
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "11:00",
"updateDuration": 1,
"defaultDimension": "2*2",
"supportDimensions": [
"2*2",
"2*4",
"4*4"
]
},
{
"name": "Form_Js",
"description": "It's JS Form",
"type": "Js",
"colorMode": "auto",
"isDefault": false,
"updateEnabled": true,
"scheduledUpdateTime": "21:05",
"updateDuration": 1,
"defaultDimension": "1*2",
"supportDimensions": [
"1*2"
],
"landscapeLayouts": [
"$layout:ability_form"
],
"portraitLayouts": [
"$layout:ability_form"
],
"formConfigAbility": "ability://com.example.myapplication.fa/.EntryAbility",
"metaData": {
"customizeData": [
{
"name": "originWidgetName",
"value": "com.example.weather.testWidget"
}
]
}
}
]
distroFilter對(duì)象的內(nèi)部結(jié)構(gòu)
表21****distroFilter對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
apiVersion | 標(biāo)識(shí)支持的apiVersion范圍。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
screenShape | 標(biāo)識(shí)屏幕形狀的支持策略。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
screenWindow | 標(biāo)識(shí)應(yīng)用運(yùn)行時(shí)窗口的分辨率支持策略。該字段僅支持對(duì)輕量級(jí)智能穿戴設(shè)備進(jìn)行配置。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
screenDensity | 標(biāo)識(shí)屏幕的像素密度(dpi:Dots Per Inch)。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
countryCode | 標(biāo)識(shí)分發(fā)應(yīng)用時(shí)的國(guó)家碼。具體值參考ISO-3166-1的標(biāo)準(zhǔn),支持多個(gè)國(guó)家和地區(qū)的枚舉定義。 | 對(duì)象數(shù)組 | 可缺省,缺省值為空。 |
apiVersion對(duì)象的內(nèi)部結(jié)構(gòu)
表22****apiVersion對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
policy | 標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。 | 字符串 | 不可缺省。 |
value | 支持的取值為API Version存在的整數(shù)值,例如4、5、6。場(chǎng)景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開(kāi)發(fā)的兩個(gè)軟件版本,則允許上架2個(gè)entry類型的安裝包,分別支持到對(duì)應(yīng)設(shè)備側(cè)軟件版本的分發(fā)。 | 數(shù)組 | 不可缺省。 |
screenShape對(duì)象的內(nèi)部結(jié)構(gòu)
表23****screenShape對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
policy | 標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。 | 字符串 | 不可缺省。 |
value | 支持的取值為API Version存在的整數(shù)值,例如4、5、6。場(chǎng)景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開(kāi)發(fā)的兩個(gè)軟件版本,則允許上架2個(gè)entry類型的安裝包,分別支持到對(duì)應(yīng)設(shè)備側(cè)軟件版本的分發(fā)。 | 數(shù)組 | 不可缺省。 |
screenWindow對(duì)象的內(nèi)部結(jié)構(gòu)
表24****screenWindow對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
policy | 標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。 | 字符串 | 不可缺省。 |
value | 支持的取值為API Version存在的整數(shù)值,例如4、5、6。場(chǎng)景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開(kāi)發(fā)的兩個(gè)軟件版本,則允許上架2個(gè)entry類型的安裝包,分別支持到對(duì)應(yīng)設(shè)備側(cè)軟件版本的分發(fā)。 | 數(shù)組 | 不可缺省。 |
screenDensity對(duì)象的內(nèi)部結(jié)構(gòu)
表25****screenDensity對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
policy | 標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。 | 字符串 | 不可缺省。 |
value | 取值范圍如下: sdpi:表示小規(guī)模的屏幕密度(Small-scale Dots Per Inch),適用于dpi取值為(0,120]的設(shè)備。 mdpi:表示中規(guī)模的屏幕密度(Medium-scale Dots Per Inch),適用于dpi取值為(120,160]的設(shè)備。 ldpi:表示大規(guī)模的屏幕密度(Large-scale Dots Per Inch),適用于dpi取值為(160,240]的設(shè)備。 xldpi:表示特大規(guī)模的屏幕密度(Extra Large-scale Dots Per Inch),適用于dpi取值為(240,320]的設(shè)備。 xxldpi:表示超大規(guī)模的屏幕密度(Extra Extra Large-scale Dots Per Inch),適用于dpi取值為(320,480]的設(shè)備。 xxxldpi:表示超特大規(guī)模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),適用于dpi取值為(480,640]的設(shè)備。 | 數(shù)組 | 不可缺省。 |
countryCode對(duì)象的內(nèi)部結(jié)構(gòu)
表26****countryCode對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
policy | 標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。 | 字符串 | 不可缺省。 |
value | 該標(biāo)簽標(biāo)識(shí)應(yīng)用需要分發(fā)的國(guó)家碼,標(biāo)簽為字符串?dāng)?shù)組,子串表示支持的國(guó)家或地區(qū),由兩個(gè)大寫字母表示。 | 字符串?dāng)?shù)組 | 不可缺省。 |
distroFilter示例:
"distroFilter": {
"apiVersion": {
"policy": "include",
"value": [4,5]
},
"screenShape": {
"policy": "include",
"value": ["circle","rect"]
},
"screenWindow": {
"policy": "include",
"value": ["454*454","466*466"]
},
"screenDensity":{
"policy": "exclude",
"value": ["ldpi","xldpi"]
},
"countryCode": {
"policy":"include",
"value":["CN","HK"]
}
}
commonEvents對(duì)象的內(nèi)部結(jié)構(gòu)
表27****commonEvents對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)靜態(tài)公共事件名稱,該標(biāo)簽最大長(zhǎng)度為127字節(jié)。 | 字符串 | 不可缺省。 |
permission | 此標(biāo)簽標(biāo)識(shí)實(shí)現(xiàn)靜態(tài)公共事件所需要申請(qǐng)的權(quán)限,該標(biāo)簽最大長(zhǎng)度為255字節(jié)。 | 字符串 | 可缺省,缺省值為空。 |
data | 標(biāo)識(shí)配置當(dāng)前靜態(tài)公共事件要攜帶的附加數(shù)據(jù)數(shù)組。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
type | 該標(biāo)簽用于配置當(dāng)前靜態(tài)公共事件的分類數(shù)組。 | 字符串?dāng)?shù)組 | 可缺省,缺省值為空。 |
events | 此標(biāo)簽標(biāo)識(shí)可接收的意圖的一組事件值。一般由系統(tǒng)預(yù)定義,也可以自定義。 | 字符串?dāng)?shù)組 | 不可缺省。 |
commonEvents示例:
"commonEvents": [
{
"name": ".EntryAbility",
"permission": "ohos.permission.GET_BUNDLE_INFO",
"data": [
"com.example.demo",
"100"
],
"events": [
"install",
"update"
]
}
]
testRunner對(duì)象的內(nèi)部結(jié)構(gòu)
表28****testRunner對(duì)象的內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)測(cè)試框架對(duì)象名稱,該標(biāo)簽最大長(zhǎng)度為255字節(jié)。 | 字符串 | 不可缺省。 |
srcPath | 標(biāo)識(shí)測(cè)試框架代碼路徑,該標(biāo)簽最大長(zhǎng)度為255字節(jié)。 | 字符串 | 不可缺省。 |
"testRunner": {
"name": "myTestRunnerName",
"srcPath": "etc/test/TestRunner.ts"
}
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
definePermission僅支持系統(tǒng)應(yīng)用配置,三方應(yīng)用配置不生效。
definePermissions對(duì)象內(nèi)部結(jié)構(gòu)
表29****definePermissions對(duì)象內(nèi)部結(jié)構(gòu)說(shuō)明
屬性名稱 | 含義 | 數(shù)據(jù)類型 | 是否可缺省 |
---|---|---|---|
name | 標(biāo)識(shí)權(quán)限的名稱,該標(biāo)簽最大長(zhǎng)度為255字節(jié)。 | 字符串 | 不可缺省。 |
grantMode | 標(biāo)識(shí)權(quán)限的授予方式,支持如下兩種授予模式如下: - system_grant:安裝后系統(tǒng)自動(dòng)授予該權(quán)限。 - user_grant:使用時(shí)動(dòng)態(tài)申請(qǐng),用戶授權(quán)后才可使用。 | 字符串 | 可缺省,缺省值為system_grant。 |
availableLevel | 標(biāo)識(shí)權(quán)限限制類別,可選值如下: - system_core:系統(tǒng)核心權(quán)限。 - system_basic:系統(tǒng)基礎(chǔ)權(quán)限。 - normal:普通權(quán)限。所有應(yīng)用允許申請(qǐng)的權(quán)限。 | 字符串 | 可缺省,缺省值為normal。 |
provisionEnable | 標(biāo)識(shí)權(quán)限是否支持證書方式申請(qǐng)權(quán)限,包括高級(jí)別的權(quán)限。配置為true標(biāo)識(shí)開(kāi)發(fā)者可以通過(guò)provision方式申請(qǐng)權(quán)限。 | 布爾值 | 可缺省,缺省值為true。 |
distributedSceneEnabled | 標(biāo)識(shí)權(quán)限是否支持分布式場(chǎng)景下使用該權(quán)限。 | 布爾值 | 可缺省,缺省值為false。 |
label | 標(biāo)識(shí)權(quán)限的簡(jiǎn)短描述,配置為對(duì)描述內(nèi)容的資源索引。 | 字符串 | 可缺省,缺省值為空。 |
description | 標(biāo)識(shí)權(quán)限的詳細(xì)描述,可以是字符串(最大長(zhǎng)度為255字節(jié)),或者為對(duì)描述內(nèi)容的資源索引。 | 字符串 | 可缺省,缺省值為空。 |
審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
513瀏覽量
17846 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2365瀏覽量
42893
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論