鴻蒙OS AbilityInfo

2022-04-24 14:44 更新

AbilityInfo

java.lang.Object

|---ohos.bundle.AbilityInfo

public class AbilityInfo
extends Object
implements Sequenceable

獲取ability的配置信息

嵌套類摘要

修飾符和類型 描述
static class AbilityInfo.AbilitySubType 枚舉可由ability使用的模板的子類型。
static class AbilityInfo.AbilityType 枚舉ability可以使用的模板類型。
static class AbilityInfo.DisplayOrientation 枚舉ability顯示方向。
static class AbilityInfo.LaunchMode 枚舉ability啟動模式。
從接口 ohos.utils.Sequenceable 繼承的嵌套類/接口
Sequenceable.ProducerT

字段摘要

修飾符和類型 字段 描述
String bundleName 指示包含該ability的捆綁包的名稱。
String className 表示ability的類名。
boolean enabled 指示是否可以實例化此ability。
String label 表示ability的標(biāo)簽
static Sequenceable.ProducerAbilityInfo PRODUCER 從 Parcel 創(chuàng)建 AbilityInfo 實例。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
AbilityInfo() 用于創(chuàng)建 AbilityInfo 實例的默認(rèn)構(gòu)造函數(shù)。
AbilityInfo(AbilityInfo source) 用于通過從現(xiàn)有參數(shù)復(fù)制參數(shù)來創(chuàng)建 AbilityInfo 實例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類型 方法 描述
void dump(String prefix, PrintWriter writer) 將ability信息打印到指定目標(biāo)。
ApplicationInfo getApplicationInfo() 獲取有關(guān)當(dāng)前應(yīng)用程序的信息。
int getBackgroundModes() 獲取ability的 backgroundModes 標(biāo)簽。
String getBundleName() 獲取包含該ability的捆綁包的名稱。
String getClassName() 獲取ability的類名。
int getDefaultFormHeight() 獲取 AbilityForm 的默認(rèn)高度。
int getDefaultFormWidth() 獲取 AbilityForm 的默認(rèn)寬度。
String getDescription() 獲取ability的描述。
ListString getDeviceCapabilities() 獲取運行ability所需的設(shè)備ability。
ListString getDeviceTypes() 獲取ability可以運行的設(shè)備類型。
boolean getFormEnabled() 獲取ability的formEnabled標(biāo)簽。
int getFormEntity() 獲取AbilityForm可以顯示的區(qū)域。
String getIconPath() 獲取ability圖標(biāo)資源文件的保存路徑。
String getLabel() 獲取用戶可見的ability名稱或ability名稱的資源索引。
AbilityInfo.LaunchMode getLaunchMode() 獲取ability的啟動模式,單例或標(biāo)準(zhǔn)。
int getMinFormHeight() 獲取 AbilityForm 的最小高度。
int getMinFormWidth() 獲取 AbilityForm 的最小寬度。
String getModuleName() 獲取ability的模塊名稱標(biāo)簽。
AbilityInfo.DisplayOrientation getOrientation() 獲取ability的顯示方向。
String getOriginalClassName() 獲取ability的原始類名。
ListString getPermissions() 獲取其他ability調(diào)用當(dāng)前ability所需的權(quán)限。
String getProcess() 獲取應(yīng)運行此ability的進(jìn)程的名稱。
String getReadPermission() 獲得讀取數(shù)據(jù)ability所需的權(quán)限。
String getTargetAbility() 獲得該ability指向的目標(biāo)ability。
AbilityInfo.AbilityType getType() 獲取ability使用的模板類型。
String getURI() 獲取ability的統(tǒng)一資源標(biāo)識符 (URI)。
String getWritePermission() 獲得寫入數(shù)據(jù)ability所需的權(quán)限。
boolean isDifferentName() 判斷ability是否處于和諧過渡階段。
boolean isVisible() 檢查一個ability是否可以被其他ability調(diào)用。
boolean marshalling(Parcel out) 將此 Sequenceable 對象編組為 Parcel。
String toString() 提供abilityInfo 的名稱和hashCode。
boolean unmarshalling(Parcel in) 從 Parcel 中解組此 Sequenceable 對象。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
從接口 ohos.utils.Sequenceable 繼承的方法
hasFileDescriptor

字段詳細(xì)信息

PRODUCER

public static final Sequenceable.ProducerAbilityInfo PRODUCER

從 Parcel 創(chuàng)建 AbilityInfo 實例。

bundleName

public String bundleName

指示包含該ability的捆綁包的名稱。

className

public String className

表示ability的類名。

類名由捆綁名稱和ability名稱標(biāo)簽的值組合而成。

enabled

public boolean enabled

指示是否可以實例化此ability。

label

public String label

表示ability的標(biāo)簽

構(gòu)造函數(shù)詳細(xì)信息

AbilityInfo

public AbilityInfo()

用于創(chuàng)建 AbilityInfo 實例的默認(rèn)構(gòu)造函數(shù)。

AbilityInfo

public AbilityInfo(AbilityInfo source)

用于通過從現(xiàn)有參數(shù)復(fù)制參數(shù)來創(chuàng)建 AbilityInfo 實例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
source 表示 AbilityInfo 對象。

Method Detail

getLabel

public String getLabel()

獲取用戶可見的ability名稱或ability名稱的資源索引。

您可以在配置文件中配置標(biāo)簽標(biāo)簽。 默認(rèn)值為名稱標(biāo)簽的值,您可以保留默認(rèn)值。

返回:

返回對用戶可見的ability名稱。

getDescription

public String getDescription()

獲取ability的描述。

ability的描述可以是字符串,也可以是描述的資源索引。 您可以在配置文件中配置描述。 默認(rèn)值為空字符串,您可以保留默認(rèn)值。

返回:

返回ability的描述。

Since:

1

getIconPath

public String getIconPath()

獲取ability圖標(biāo)資源文件的保存路徑。

您可以在配置文件中配置圖標(biāo)標(biāo)簽。 默認(rèn)值為空字符串,您可以保留默認(rèn)值。

返回:

返回存儲ability圖標(biāo)資源文件的路徑。

isVisible

public boolean isVisible()

檢查一個ability是否可以被其他ability調(diào)用。

您可以在配置文件中配置可見標(biāo)簽。 默認(rèn)值為 false,您可以保留默認(rèn)值。

返回:

如果該ability可以被其他ability調(diào)用,則返回 true; 否則返回 false。

getType

public AbilityInfo.AbilityType getType()

獲取ability使用的模板類型。

Ability有3種模板:有UI的AbilityType#PAGE、沒有UI的AbilityType#SERVICE、提供數(shù)據(jù)訪問服務(wù)的AbilityType#DATA。 必須指定類型標(biāo)簽。 您必須在配置文件中配置它。

返回:

返回ability使用的模板類型。

getOrientation

public AbilityInfo.DisplayOrientation getOrientation()

獲取ability的顯示方向。

方向僅對使用頁面模板的ability有效。 它可以是以下任何值:

  • DisplayOrientation#UNSPECIFIED: 系統(tǒng)自動確定ability的顯示方向。
  • DisplayOrientation#LANDSCAPE: ability橫向顯示。
  • DisplayOrientation#PORTRAIT: ability以縱向顯示。
  • DisplayOrientation#FOLLOWRECENT: ability的顯示方向與堆棧中最近的ability相同。

您可以在配置文件中配置此標(biāo)簽。 默認(rèn)值未指定,您可以保留默認(rèn)值。

返回:

返回ability的顯示方向。

getLaunchMode

public AbilityInfo.LaunchMode getLaunchMode()

獲取能力的啟動模式,單例或標(biāo)準(zhǔn)。

在 LaunchMode#STANDARD 模式中,一個技能可以有多個實例,而在 LaunchMode#SINGLETON 模式中,一個技能只有一個實例。 您可以在配置文件中配置啟動模式標(biāo)簽。 默認(rèn)值為單例,您可以保留默認(rèn)值。

返回:

返回ability的啟動模式。

getBundleName

public String getBundleName()

獲取包含該ability的捆綁包的名稱。

返回:

返回包含該ability的捆綁包的名稱。

getClassName

public String getClassName()

獲取ability的類名。

類名由捆綁名稱和ability名稱標(biāo)簽的值組合而成。

返回:

返回ability的類名。

getOriginalClassName

public String getOriginalClassName()

獲取ability的原始類名。

shell類名由shell包名和shell能力的name標(biāo)簽的值組合而成。

返回:

返回ability的類名。

getPermissions

public ListString getPermissions()

獲取其他ability調(diào)用當(dāng)前ability所需的權(quán)限。

每個權(quán)限必須是一個字符串,通常是一個反向域名。 您可以指定預(yù)定義的權(quán)限或應(yīng)用程序自定義的權(quán)限。 此標(biāo)簽中指定的自定義權(quán)限名稱必須與def-permissions標(biāo)簽中定義的權(quán)限名稱的值相同。 您可以在配置文件中配置權(quán)限標(biāo)簽。 默認(rèn)值為空列表,您可以保留默認(rèn)值。

返回:

返回其他ability調(diào)用當(dāng)前ability所需的權(quán)限列表。

getDeviceTypes

public ListString getDeviceTypes()

獲取ability可以運行的設(shè)備類型。

device-type 指定運行ability的設(shè)備類型。 預(yù)定義的類型是 tv、pc、car 和 watch。 您可以在配置文件中配置此標(biāo)簽。

返回:

返回可以運行該ability的設(shè)備類型列表。

getDeviceCapabilities

public ListString getDeviceCapabilities()

獲取運行ability所需的設(shè)備ability。

device-capability 表示設(shè)備運行ability所應(yīng)具備的ability。 功能必須與設(shè)備配置文件中描述的ability一致。 您可以在配置文件中配置此標(biāo)簽。 默認(rèn)值為空列表,表示運行ability不需要設(shè)備ability,可以保留默認(rèn)值。

返回:

返回運行ability所需的設(shè)備ability。

getURI

public String getURI()

獲取ability的統(tǒng)一資源標(biāo)識符 (URI)。

返回:

返回ability的URI; 如果未配置 URI,則返回空字符串。

isDifferentName

public boolean isDifferentName()

判斷ability是否處于和諧過渡階段。

返回:

如果ability處于和諧過渡階段,則返回真; 否則返回 false。

getModuleName

public String getModuleName()

獲取ability的模塊名稱標(biāo)簽。

module-name 表示ability所屬的 HAP 文件的名稱。 此標(biāo)記由 IDE 自動生成。

返回:

返回 HAP 文件的名稱。

getProcess

public String getProcess()

獲取應(yīng)運行此ability的進(jìn)程的名稱。

進(jìn)程名稱在 config.json 文件中該ability的進(jìn)程屬性中設(shè)置。 如果未設(shè)置,則默認(rèn)使用為應(yīng)用程序設(shè)置的進(jìn)程屬性。

返回:

返回進(jìn)程名稱。

getTargetAbility

public String getTargetAbility()

獲得該ability指向的目標(biāo)ability。

如果你在config.json中為這個ability設(shè)置了targetAbility屬性,那么這個ability只是一個ability別名,targetAbility指定的ability就是它所指向的真正ability。 如果在當(dāng)前bundle中找不到指定的目標(biāo)ability,config.json會解析失敗。

返回:

返回目標(biāo)ability的類名。

getFormEnabled

public boolean getFormEnabled()

獲取ability的formEnabled標(biāo)簽。

formEnabled 指定是否為使用頁面模板的ability啟用 AbilityForm。 對于使用任何其他模板的ability,請勿將此標(biāo)簽設(shè)置為 true。 默認(rèn)值為 false,您可以保留默認(rèn)值。

返回:

如果為ability啟用了 AbilityForm,則返回 true; 否則返回 false。

getBackgroundModes

public int getBackgroundModes()

獲取ability的 backgroundModes 標(biāo)簽。

backgroundModes 專用于使用服務(wù)模板的ability。 您可以使用此標(biāo)簽將一個或多個后臺服務(wù)模式分配給ability。 可用的后臺模式及其各自的標(biāo)簽值如下:

  • data-transfer: 用于從網(wǎng)絡(luò)或?qū)Φ仍O(shè)備下載、備份、共享或傳輸數(shù)據(jù)的服務(wù)。 標(biāo)簽值為 0b00000001。
  • audio-playback: 音頻輸出服務(wù)。 標(biāo)簽值為 0b00000010。
  • audio-recording: 音頻輸入服務(wù)。 標(biāo)簽值為 0b00000010。
  • picture-in-picture: 畫中畫和小窗口視頻播放服務(wù)。 標(biāo)簽值為 0b00000010。
  • voip: 語音/視頻通話和 VoIP 服務(wù)。 標(biāo)簽值為 0b00000100。
  • Location: 定位和導(dǎo)航服務(wù)。 標(biāo)簽值為 0b00001000。
  • bluetooth-interaction: 基于藍(lán)牙的掃描、連接和傳輸服務(wù)(適用于可穿戴設(shè)備)。 標(biāo)簽值為 0b00010000。
  • wifi-interaction: 基于 WLAN 的掃描、連接和傳輸服務(wù)。 標(biāo)簽值為 0b00010000。
  • screen-fetch:屏幕錄制和屏幕截圖服務(wù)。 標(biāo)簽值為 0b00100000。

最終標(biāo)簽值可以是多個先前值的總和。 您需要在此標(biāo)記中使用單個值(例如 0b00000010 或 0b00010000)一次,以便您的應(yīng)用程序具有與該值對應(yīng)的所有背景模式。

返回:

返回一個整數(shù),作為為ability設(shè)置的所有值的總和。

getApplicationInfo

public ApplicationInfo getApplicationInfo()

獲取有關(guān)當(dāng)前應(yīng)用程序的信息。

返回:

返回當(dāng)前應(yīng)用程序的 ApplicationInfo 對象。

getFormEntity

public int getFormEntity()

獲取AbilityForm可以顯示的區(qū)域。

返回:

如果 AbilityForm 可以顯示在主屏幕上,則返回 1; 如果可以在搜索界面顯示,則返回 2; 如果可以在兩個區(qū)域上顯示,則返回 3。

getMinFormHeight

public int getMinFormHeight()

獲取 AbilityForm 的最小高度。

初始值為0。如果formEnabled設(shè)置為false,則該方法無效。

返回:

返回 AbilityForm 的最小高度(以像素為單位)。

getDefaultFormHeight

public int getDefaultFormHeight()

獲取 AbilityForm 的默認(rèn)高度。

初始值為0。如果formEnabled設(shè)置為false,則該方法無效。

返回:

返回 AbilityForm 的默認(rèn)高度(以像素為單位)。

getMinFormWidth

public int getMinFormWidth()

獲取 AbilityForm 的最小寬度。

初始值為0。如果formEnabled設(shè)置為false,則該方法無效。

返回:

返回 AbilityForm 的最小寬度(以像素為單位)。

getDefaultFormWidth

public int getDefaultFormWidth()

獲取 AbilityForm 的默認(rèn)寬度。

初始值為0。如果formEnabled設(shè)置為false,則該方法無效。

返回:

返回 AbilityForm 的默認(rèn)寬度(以像素為單位)。

getReadPermission

public String getReadPermission()

獲得讀取數(shù)據(jù)ability所需的權(quán)限。

返回:

返回讀取權(quán)限的值。

getWritePermission

public String getWritePermission()

獲得寫入數(shù)據(jù)ability所需的權(quán)限。

返回:

返回寫權(quán)限。

marshalling

public boolean marshalling(Parcel out)

從接口復(fù)制的描述:Sequenceable

將此 Sequenceable 對象編組為 Parcel。

指定者:

接口 Sequenceable 中的編組

參數(shù):

參數(shù)名稱 參數(shù)描述
out 指示將 Sequenceable 對象編組到的 Parcel 對象。

返回:

如果編組成功,則返回 true; 否則返回 false。

unmarshalling

public boolean unmarshalling(Parcel in)

從接口復(fù)制的描述:Sequenceable

從 Parcel 中解組此 Sequenceable 對象。

指定者:

在接口 Sequenceable 中解組

參數(shù):

參數(shù)名稱 參數(shù)描述
in 指示已將 Sequenceable 對象編組到的 Parcel 對象。

返回:

如果解組成功,則返回 true; 否則返回 false。

dump

public void dump(String prefix, PrintWriter writer) throws IllegalArgumentException

將ability信息打印到指定目標(biāo)。

參數(shù):

參數(shù)名稱 參數(shù)描述
prefix 表示打印信息中包含的屬性名稱的前綴。
writer 指示信息將被打印到的目標(biāo)。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果輸入?yún)?shù)非法,則拋出此異常。

toString

public String toString()

提供abilityInfo 的名稱和hashCode。

覆蓋:

類 Object 中的 toString

返回:

字符串格式的信息。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號