0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)組件:ServiceAbility組件概述與配置

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-19 14:52 ? 次閱讀

ServiceAbility組件概述

ServiceAbility,即"基于Service模板的Ability",主要用于后臺(tái)運(yùn)行任務(wù)(如執(zhí)行音樂播放、文件下載等),不提供用戶交互界面。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)說明

屬性名稱含義開發(fā)前請(qǐng)熟悉鴻蒙開發(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模板開發(fā)的Ability。字符串
backgroundModes表示后臺(tái)服務(wù)的類型,可以為一個(gè)服務(wù)配置多個(gè)后臺(tái)服務(wù)類型。該標(biāo)簽僅適用于service類型的Ability。取值范圍如下: dataTransfer:通過網(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)說明

屬性名稱含義數(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的工程目錄保持一致)。字符串長度為1-127個(gè)字節(jié)。字符串不可缺省。
name標(biāo)識(shí)HAP的類名。采用反向域名方式標(biāo)識(shí),前綴要與同級(jí)的package標(biāo)簽指定的包名一致,也可采用"."開頭的命名方式。字符串長度不超過255字節(jié)。字符串可缺省,缺省值為空。
description標(biāo)識(shí)HAP的描述信息。字符串長度不超過255字節(jié)。如果字符串超出長度或者需要支持多語言,可以采用資源索引的方式添加描述內(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框架開發(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)用市場在云端分發(fā)HAP時(shí)做精準(zhǔn)匹配。該標(biāo)簽需要配置在/resource/profile資源目錄下;在進(jìn)行分發(fā)時(shí),通過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)訂閱者,前者無需在業(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ì)測試框架的配置。對(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
moduleName標(biāo)識(shí)當(dāng)前HAP的名稱,最大長度為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)說明

屬性名稱含義數(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
description標(biāo)識(shí)對(duì)調(diào)用參數(shù)的描述,可以是表示描述內(nèi)容的字符串,也可以是對(duì)描述內(nèi)容的資源索引以支持多語言。該標(biāo)簽最大長度為255個(gè)字節(jié)。字符串可缺省,缺省值為空。
name標(biāo)識(shí)調(diào)用參數(shù)的名稱。該標(biāo)簽最大長度為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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
description標(biāo)識(shí)對(duì)返回值的描述,可以是表示描述內(nèi)容的字符串,也可以是對(duì)描述內(nèi)容的資源索引以支持多語言。該標(biāo)簽最大長度為255個(gè)字節(jié)。字符串可缺省,缺省值為空。
name標(biāo)識(shí)返回值的名字。該標(biāo)簽最大長度為255個(gè)字節(jié)。字符串可缺省,缺省值為空。
type標(biāo)識(shí)返回值的類型,如Integer。字符串不可缺省

customizeData對(duì)象的內(nèi)部結(jié)構(gòu)

表6****customizeData對(duì)象的內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)數(shù)據(jù)項(xiàng)的鍵名稱,字符串類型(最大長度255字節(jié))。字符串可缺省,缺省值為空。
value標(biāo)識(shí)數(shù)據(jù)項(xià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)簽配置說明

設(shè)備類型枚舉值說明
平板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)說明

屬性名稱含義數(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";也可采用"."開頭的類名方式表示,如".EntryAbility"。 Ability的名稱,需在一個(gè)應(yīng)用的范圍內(nèi)保證唯一。說明:在使用DevEco Studio新建項(xiàng)目時(shí),默認(rèn)生成首個(gè)Ability的配置,即"config.json"中"EntryAbility"的配置。如使用其他IDE工具,可自定義名稱。該標(biāo)簽最大長度為127個(gè)字節(jié)。字符串不可缺省
description標(biāo)識(shí)對(duì)Ability的描述。取值可以是描述性內(nèi)容,也可以是對(duì)描述性內(nèi)容的資源索引,以支持多語言。該標(biāo)簽最大長度為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。 說明:應(yīng)用的"icon"和"label"是用戶可感知配置項(xiàng),需要區(qū)別于當(dāng)前所有已有的應(yīng)用"icon"或"label"(至少有一個(gè)不同)。字符串可缺省,缺省值為空。
label標(biāo)識(shí)Ability對(duì)用戶顯示的名稱。取值是對(duì)該名稱的資源索引,支持多語言,例:$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。 說明: 應(yīng)用的"icon"和"label"是用戶可感知配置項(xiàng),需要區(qū)別于當(dāng)前所有已有的應(yīng)用"icon"或"label"(至少有一個(gè)不同)。該標(biāo)簽為資源文件中定義的字符串的引用,或以"{}"包括的字符串。該標(biāo)簽最大長度為255個(gè)字節(jié)。字符串可缺省,缺省值為空。
uri標(biāo)識(shí)Ability的統(tǒng)一資源標(biāo)識(shí)符。該標(biāo)簽最大長度為255個(gè)字節(jié)。字符串可缺省,對(duì)于data類型的Ability不可缺省。
launchType標(biāo)識(shí)Ability的啟動(dòng)模式,支持"multiton"和"singleton"兩種模式: multiton:表示該Ability可以有多實(shí)例。該模式適用于大多數(shù)應(yīng)用場景。 singleton:表示該Ability在所有任務(wù)棧中僅可以有一個(gè)實(shí)例。例如,具有全局唯一性的呼叫來電界面即采用"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)用,包括無法被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é)長度為64。字符串?dāng)?shù)組可缺省,缺省值為空。
metaData元數(shù)據(jù)。對(duì)象可缺省,缺省值為空。
type標(biāo)識(shí)Ability的類型。取值范圍如下: page:表示基于Page模板開發(fā)的FA,用于提供與用戶交互的能力。 service:表示基于Service模板開發(fā)的PA,用于提供后臺(tái)運(yùn)行任務(wù)的能力。 data:表示基于Data模板開發(fā)的PA,用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問對(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:通過網(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。取值為長度不超過255字節(jié)的字符串。該標(biāo)簽僅適用于默認(rèn)設(shè)備、平板、智慧屏、車機(jī)、智能穿戴。字符串可缺省,缺省為空。
writePermission標(biāo)識(shí)向Ability寫數(shù)據(jù)所需的權(quán)限。該標(biāo)簽僅適用于data類型的Ability。取值為長度不超過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è)備國家/地區(qū)代碼(MCC)發(fā)生變更。典型場景:檢測SIM并更新MCC。 mnc:IMSI移動(dòng)設(shè)備網(wǎng)絡(luò)代碼(MNC)發(fā)生變更。典型場景:檢測到SIM并更新MNC。 locale:表示語言區(qū)域發(fā)生變更。典型場景:用戶已為設(shè)備文本的文本顯示選擇新的語言類型。 layout:表示屏幕布局發(fā)生變更。典型場景:當(dāng)前有不同的顯示形態(tài)都處于活躍狀態(tài)。 fontSize:表示字號(hào)發(fā)生變更。典型場景:用戶已設(shè)置新的全局字號(hào)。 orientation:表示屏幕方向發(fā)生變更。典型場景:用戶旋轉(zhuǎn)設(shè)備。 density:表示顯示密度發(fā)生變更。典型場景:用戶可能指定不同的顯示比例,或當(dāng)前有不同的顯示形態(tài)同時(shí)處于活躍狀態(tài)。 size:顯示窗口大小發(fā)生變更。 smallestSize:顯示窗口較短邊的邊長發(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ù)組可缺省,缺省值為空。
srcLanguageAbility開發(fā)語言的類型,開發(fā)者創(chuàng)建工程時(shí)由開發(fā)者手動(dòng)選擇開發(fā)語言。取值如下:"js"、"ets"、"java"。字符串可缺省,缺省值為"js"。
srcPath該標(biāo)簽標(biāo)識(shí)Ability對(duì)應(yīng)的JS組件代碼路徑,該標(biāo)簽最大長度為127字節(jié)。字符串不可缺省。
uriPermission標(biāo)識(shí)該Ability有權(quán)訪問的應(yīng)用程序數(shù)據(jù)。此屬性由模式和路徑子屬性組成。此屬性僅對(duì)類型提供者的能力有效。對(duì)象可缺省,缺省值為空。
startWindowIcon標(biāo)識(shí)該Ability啟動(dòng)頁面圖標(biāo)資源文件的索引。該標(biāo)簽僅適用于page類型的Ability。取值示例:$media:icon。字符串可缺省,缺省值為空。
startWindowBackground標(biāo)識(shí)該Ability啟動(dòng)頁面背景顏色資源文件的索引。該標(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ì)無圖標(biāo)應(yīng)用實(shí)施嚴(yán)格管控,防止一些惡意應(yīng)用故意配置無入口圖標(biāo),導(dǎo)致用戶找不到軟件所在的位置,無法操作卸載應(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)用沒有隱藏圖標(biāo)的特權(quán)
        • 系統(tǒng)將使用該P(yáng)ageAbility配置的icon作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁面跳轉(zhuǎn)到該P(yáng)ageAbility首頁。
        • 系統(tǒng)將使用該P(yáng)ageAbility配置的label作為入口標(biāo)簽,并顯示在桌面上(如果沒有配置label,返回包名)。
      • 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
        • 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。
    • 配置文件(config.json)中abilities配置中未設(shè)置入口圖標(biāo)
      • 該應(yīng)用沒有隱藏圖標(biāo)的特權(quán)
        • 系統(tǒng)將使用系統(tǒng)默認(rèn)圖標(biāo)作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁面跳轉(zhuǎn)到應(yīng)用管理中對(duì)應(yīng)的應(yīng)用詳情頁面(參考下圖)。
        • 系統(tǒng)將使用應(yīng)用的包名作為入口標(biāo)簽,并顯示在桌面上。
      • 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
        • 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。
  • HAP中不包含Page類型的PageAbility
    • 該應(yīng)用沒有隱藏圖標(biāo)的特權(quán)
      • 系統(tǒng)將使用系統(tǒng)默認(rèn)圖標(biāo)作為入口圖標(biāo),并顯示在桌面上。用戶點(diǎn)擊該圖標(biāo),頁面跳轉(zhuǎn)到應(yīng)用管理中對(duì)應(yīng)的應(yīng)用詳情頁面(參考下圖)。
      • 系統(tǒng)將使用應(yīng)用的包名作為入口標(biāo)簽,并顯示在桌面上。
    • 該應(yīng)用具有隱藏圖標(biāo)的特權(quán)
      • 桌面查詢時(shí)不返回應(yīng)用信息,不會(huì)在桌面上顯示對(duì)應(yīng)的入口圖標(biāo)和標(biāo)簽。

圖1 應(yīng)用的詳情頁示意圖

應(yīng)用的詳情頁例圖

注:應(yīng)用詳情頁面中顯示的label可能與桌面上顯示的不同。如果非Page類型的PageAbility配置了入口圖標(biāo)和label,那么詳情頁中顯示的即為配置的。

uriPermission對(duì)象的內(nèi)部結(jié)構(gòu)

表9****uriPermission對(duì)象的內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
pathuriPermission標(biāo)識(shí)的路徑,該標(biāo)簽最大字節(jié)長度為255個(gè)字節(jié)。字符串不可缺省。
modeuriPermission的匹配模式。字符串可缺省,缺省值為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)說明

屬性名稱含義數(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過濾器添加數(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)說明

屬性名稱含義數(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屬性,為資源的媒體類型,常見的類型有"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)字段說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name需要使用的權(quán)限名稱。字符串
reason描述申請(qǐng)權(quán)限的原因。需要做多語種適配。字符串分情況:當(dāng)申請(qǐng)的權(quán)限為user_grant時(shí),必須填寫此字段,否則不允許在應(yīng)用市場上架;其他權(quán)限可缺省,缺省為空
usedScene描述權(quán)限使用的場景和時(shí)機(jī)。場景類型如下兩種: - 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)說明

屬性名稱含義數(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)JS Component的名字。字符串不可缺省。
pages標(biāo)識(shí)JS Component的頁面用于列舉JS Component中每個(gè)頁面的路由信息,格式為“頁面路徑+頁面名稱”。其中,頁面路徑是以當(dāng)前Ability的srcPath字段取值為基準(zhǔn),例如srcPath取值為EntryAbility,則JS Component頁面路徑需要從EntryAbility的下一層開始描述。該標(biāo)簽取值為數(shù)組,數(shù)組第一個(gè)元素代表JS FA首頁。字符串?dāng)?shù)組不可缺省。
window用于定義與顯示窗口相關(guān)的配置。對(duì)象可缺省,缺省值見表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組件的開發(fā)模式。對(duì)象可缺省,缺省值為空。

window對(duì)象的內(nèi)部結(jié)構(gòu)

表15****window對(duì)象的內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
designWidth標(biāo)識(shí)頁面設(shè)計(jì)基準(zhǔn)寬度。以此為基準(zhǔn),根據(jù)實(shí)際設(shè)備寬度來縮放元素大小。數(shù)值可缺省,缺省值為720px。
autoDesignWidth標(biāo)識(shí)頁面設(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
type定義JS組件的功能類型。字符串,取值為"pageAbility"、"form"可缺省,缺省值為pageAbility。
syntax定義JS組件的語法類型。字符串,取值為"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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
shortcutId標(biāo)識(shí)快捷方式的ID。字符串的最大長度為63字節(jié)。字符串不可缺省。
label標(biāo)識(shí)快捷方式的標(biāo)簽信息,即快捷方式對(duì)外顯示的文字描述信息。取值可以是描述性內(nèi)容,也可以是標(biāo)識(shí)label的資源索引。字符串最大長度為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)說明

屬性名稱含義數(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)卡片的類名。字符串最大長度為127字節(jié)。字符串不可缺省。
description標(biāo)識(shí)卡片的描述。取值可以是描述性內(nèi)容,也可以是對(duì)描述性內(nèi)容的資源索引,以支持多語言。字符串最大長度為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名稱。字符串最大長度為127字節(jié)。僅當(dāng)卡片類型為JS卡片時(shí),需要配置該標(biāo)簽。字符串可缺省,缺省值為空。
metaData標(biāo)識(shí)卡片的自定義信息,包含customizeData數(shù)組標(biāo)簽。對(duì)象可缺省,缺省值為空。
formVisibleNotify標(biāo)識(shí)是否允許卡片使用卡片可見性通知。 true:允許。 false:不允許。布爾值可缺省,缺省值為false。

customizeData對(duì)象內(nèi)部結(jié)構(gòu)

表20****customizeData對(duì)象內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)數(shù)據(jù)項(xiàng)的鍵名稱。字符串最大長度為255字節(jié)。字符串可缺省,缺省值為空。
value標(biāo)識(shí)數(shù)據(jù)項(xià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)說明

屬性名稱含義數(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í)的國家碼。具體值參考ISO-3166-1的標(biāo)準(zhǔn),支持多個(gè)國家和地區(qū)的枚舉定義。對(duì)象數(shù)組可缺省,缺省值為空。

apiVersion對(duì)象的內(nèi)部結(jié)構(gòu)

表22****apiVersion對(duì)象的內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
policy標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。字符串不可缺省。
value支持的取值為API Version存在的整數(shù)值,例如4、5、6。場景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開發(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
policy標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。字符串不可缺省。
value支持的取值為API Version存在的整數(shù)值,例如4、5、6。場景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開發(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
policy標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。字符串不可缺省。
value支持的取值為API Version存在的整數(shù)值,例如4、5、6。場景示例:某應(yīng)用,針對(duì)相同設(shè)備型號(hào),同時(shí)在網(wǎng)的為使用API 5和API 6開發(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)說明

屬性名稱含義數(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
policy標(biāo)識(shí)該子屬性取值規(guī)則。配置為“exclude”或“include”。 - exclude:表示需要排除的value屬性。 - include:表示需要包含的value屬性。字符串不可缺省。
value該標(biāo)簽標(biāo)識(shí)應(yīng)用需要分發(fā)的國家碼,標(biāo)簽為字符串?dāng)?shù)組,子串表示支持的國家或地區(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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)靜態(tài)公共事件名稱,該標(biāo)簽最大長度為127字節(jié)。字符串不可缺省。
permission此標(biāo)簽標(biāo)識(shí)實(shí)現(xiàn)靜態(tài)公共事件所需要申請(qǐng)的權(quán)限,該標(biāo)簽最大長度為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)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)測試框架對(duì)象名稱,該標(biāo)簽最大長度為255字節(jié)。字符串不可缺省。
srcPath標(biāo)識(shí)測試框架代碼路徑,該標(biāo)簽最大長度為255字節(jié)。字符串不可缺省。
"testRunner": {
  "name": "myTestRunnerName",
  "srcPath": "etc/test/TestRunner.ts"
}

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

新文檔.png

definePermission僅支持系統(tǒng)應(yīng)用配置,三方應(yīng)用配置不生效。

definePermissions對(duì)象內(nèi)部結(jié)構(gòu)

表29****definePermissions對(duì)象內(nèi)部結(jié)構(gòu)說明

屬性名稱含義數(shù)據(jù)類型是否可缺省
name標(biāo)識(shí)權(quán)限的名稱,該標(biāo)簽最大長度為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í)開發(fā)者可以通過provision方式申請(qǐng)權(quán)限。布爾值可缺省,缺省值為true。
distributedSceneEnabled標(biāo)識(shí)權(quán)限是否支持分布式場景下使用該權(quán)限。布爾值可缺省,缺省值為false。
label標(biāo)識(shí)權(quán)限的簡短描述,配置為對(duì)描述內(nèi)容的資源索引。字符串可缺省,缺省值為空。
description標(biāo)識(shí)權(quán)限的詳細(xì)描述,可以是字符串(最大長度為255字節(jié)),或者為對(duì)描述內(nèi)容的資源索引。字符串可缺省,缺省值為空。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    495

    瀏覽量

    17736
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42493
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開發(fā)教程-管理組件狀態(tài)

    組件層級(jí)雙向同步狀態(tài)是指@Provide修飾的狀態(tài)變量自動(dòng)對(duì)提供者組件的所有后代組件可用,后代組件通過使用@Consume裝飾的變量來獲得對(duì)提供的狀態(tài)變量的訪問。
    的頭像 發(fā)表于 01-22 21:46 ?1143次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>教程-管理<b class='flag-5'>組件</b>狀態(tài)

    鴻蒙ArkUI開發(fā)-Video組件的使用

    以視頻功能為例,在應(yīng)用開發(fā)過程中,我們需要通過ArkUI提供的Video組件為應(yīng)用增加基礎(chǔ)的視頻播放功能。借助Video組件,我們可以實(shí)現(xiàn)視頻的播放功能并控制其播放狀態(tài)。常見的視頻播放場景包括觀看網(wǎng)絡(luò)上的較為流行的短視頻,也包括
    的頭像 發(fā)表于 01-23 16:59 ?1042次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開發(fā)</b>-Video<b class='flag-5'>組件</b>的使用

    鴻蒙開發(fā)基礎(chǔ)-Web組件之cookie操作

    }) ... } ... 本文章主要是對(duì)鴻蒙開發(fā)當(dāng)中ArkTS語言的基礎(chǔ)應(yīng)用實(shí)戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應(yīng)用開發(fā)
    發(fā)表于 01-14 21:31

    鴻蒙開發(fā)OpenHarmony組件復(fù)用案例

    概述開發(fā)應(yīng)用時(shí),有些場景下的自定義組件具有相同的組件布局結(jié)構(gòu),僅有狀態(tài)變量等承載數(shù)據(jù)的差異。這樣的組件緩存起來,需要使用到該
    發(fā)表于 01-15 17:37

    鴻蒙開發(fā)-ArkUI 組件基礎(chǔ)

    1 組件介紹 組件(Component)是界面搭建與顯示的最小單位,HarmonyOS ArkUI聲明式開發(fā)范式為開發(fā)者提供了豐富多樣的UI組件
    發(fā)表于 01-17 19:31

    HarmonyOS實(shí)戰(zhàn)—布局和組件概述

    組件概述屏幕展示出來的元素,都稱之為組件。比如華為已經(jīng)提供的:文本,圖片,進(jìn)度條,輸入框等。注意點(diǎn):組件在未被添加到布局中時(shí),既無法顯示也無法交互,因此一個(gè)用戶界面至少包含一個(gè)布局。
    發(fā)表于 08-12 12:23

    鴻蒙有3D顯示組件嗎?

    鴻蒙有3D顯示組件嗎?
    發(fā)表于 11-13 07:33

    鴻蒙開源第三方組件資料合集

    1、鴻蒙開源第三方組件——日志工具組件Timber_ohosTimber_ohos是一個(gè)帶有小型可擴(kuò)展API的日志工具組件,它可以給開發(fā)者提
    發(fā)表于 03-23 09:53

    如何在鴻蒙的webview上面放其它組件?

    需求:需要在鴻蒙的webview上顯示一個(gè)網(wǎng)頁,在webview上面再添加一個(gè)文本,但是無論怎么webview都會(huì)覆蓋掉其它組件,這個(gè)是鴻蒙把webview的優(yōu)先級(jí)設(shè)置 最高了嗎?無論是什么布局都無法 在webview上面放 其
    發(fā)表于 03-28 10:00

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1419次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開發(fā)</b>-Tabs<b class='flag-5'>組件</b>的使用

    鴻蒙OS開發(fā)實(shí)例:【組件化模式】

    組件化一直是移動(dòng)端比較流行的開發(fā)方式,有著編譯運(yùn)行快,業(yè)務(wù)邏輯分明,任務(wù)劃分清晰等優(yōu)點(diǎn),針對(duì)Android端的組件化;與Android端的組件化相比,HarmonyOS的
    的頭像 發(fā)表于 04-07 17:44 ?452次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b>實(shí)例:【<b class='flag-5'>組件</b>化模式】

    鴻蒙開發(fā):【PageAbility組件概述+配置

    PageAbility是包含UI、提供展示UI能力的應(yīng)用組件,主要用于與用戶交互。
    的頭像 發(fā)表于 06-17 18:05 ?415次閱讀

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用組件互通綜述

    FA模型與Stage模型是兩套不同的應(yīng)用模型,他們擁有各自的組件。FA模型提供三種應(yīng)用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應(yīng)用
    的頭像 發(fā)表于 06-24 16:43 ?337次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用<b class='flag-5'>組件</b>互通綜述

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型綁定FA模型ServiceAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發(fā)表于 06-25 21:47 ?189次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):Stage模型綁定FA模型<b class='flag-5'>ServiceAbility</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):ServiceAbility切換 組件切換

    FA模型中的ServiceAbility對(duì)應(yīng)Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility為系統(tǒng)API,只有系統(tǒng)
    的頭像 發(fā)表于 06-28 10:24 ?223次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):<b class='flag-5'>ServiceAbility</b>切換 <b class='flag-5'>組件</b>切換