阅读(4252) (8)

鸿蒙OS AbilityInfo

2022-04-21 16:22:28 更新

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的标签
static Sequenceable.ProducerAbilityInfo PRODUCER 从 Parcel 创建 AbilityInfo 实例。

构造函数摘要

构造函数 描述
AbilityInfo() 用于创建 AbilityInfo 实例的默认构造函数。
AbilityInfo(AbilityInfo source) 用于通过从现有参数复制参数来创建 AbilityInfo 实例的构造函数。

方法总结

修饰符和类型 方法 描述
void dump(String prefix, PrintWriter writer) 将ability信息打印到指定目标。
ApplicationInfo getApplicationInfo() 获取有关当前应用程序的信息。
int getBackgroundModes() 获取ability的 backgroundModes 标签。
String getBundleName() 获取包含该ability的捆绑包的名称。
String getClassName() 获取ability的类名。
int getDefaultFormHeight() 获取 AbilityForm 的默认高度。
int getDefaultFormWidth() 获取 AbilityForm 的默认宽度。
String getDescription() 获取ability的描述。
ListString getDeviceCapabilities() 获取运行ability所需的设备ability。
ListString getDeviceTypes() 获取ability可以运行的设备类型。
boolean getFormEnabled() 获取ability的formEnabled标签。
int getFormEntity() 获取AbilityForm可以显示的区域。
String getIconPath() 获取ability图标资源文件的保存路径。
String getLabel() 获取用户可见的ability名称或ability名称的资源索引。
AbilityInfo.LaunchMode getLaunchMode() 获取ability的启动模式,单例或标准。
int getMinFormHeight() 获取 AbilityForm 的最小高度。
int getMinFormWidth() 获取 AbilityForm 的最小宽度。
String getModuleName() 获取ability的模块名称标签。
AbilityInfo.DisplayOrientation getOrientation() 获取ability的显示方向。
String getOriginalClassName() 获取ability的原始类名。
ListString getPermissions() 获取其他ability调用当前ability所需的权限。
String getProcess() 获取应运行此ability的进程的名称。
String getReadPermission() 获得读取数据ability所需的权限。
String getTargetAbility() 获得该ability指向的目标ability。
AbilityInfo.AbilityType getType() 获取ability使用的模板类型。
String getURI() 获取ability的统一资源标识符 (URI)。
String getWritePermission() 获得写入数据ability所需的权限。
boolean isDifferentName() 判断ability是否处于和谐过渡阶段。
boolean isVisible() 检查一个ability是否可以被其他ability调用。
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

字段详细信息

PRODUCER

public static final Sequenceable.ProducerAbilityInfo PRODUCER

从 Parcel 创建 AbilityInfo 实例。

bundleName

public String bundleName

指示包含该ability的捆绑包的名称。

className

public String className

表示ability的类名。

类名由捆绑名称和ability名称标签的值组合而成。

enabled

public boolean enabled

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

label

public String label

表示ability的标签

构造函数详细信息

AbilityInfo

public AbilityInfo()

用于创建 AbilityInfo 实例的默认构造函数。

AbilityInfo

public AbilityInfo(AbilityInfo source)

用于通过从现有参数复制参数来创建 AbilityInfo 实例的构造函数。

参数:

参数名称 参数描述
source 表示 AbilityInfo 对象。

Method Detail

getLabel

public String getLabel()

获取用户可见的ability名称或ability名称的资源索引。

您可以在配置文件中配置标签标签。 默认值为名称标签的值,您可以保留默认值。

返回:

返回对用户可见的ability名称。

getDescription

public String getDescription()

获取ability的描述。

ability的描述可以是字符串,也可以是描述的资源索引。 您可以在配置文件中配置描述。 默认值为空字符串,您可以保留默认值。

返回:

返回ability的描述。

Since:

1

getIconPath

public String getIconPath()

获取ability图标资源文件的保存路径。

您可以在配置文件中配置图标标签。 默认值为空字符串,您可以保留默认值。

返回:

返回存储ability图标资源文件的路径。

isVisible

public boolean isVisible()

检查一个ability是否可以被其他ability调用。

您可以在配置文件中配置可见标签。 默认值为 false,您可以保留默认值。

返回:

如果该ability可以被其他ability调用,则返回 true; 否则返回 false。

getType

public AbilityInfo.AbilityType getType()

获取ability使用的模板类型。

Ability有3种模板:有UI的AbilityType#PAGE、没有UI的AbilityType#SERVICE、提供数据访问服务的AbilityType#DATA。 必须指定类型标签。 您必须在配置文件中配置它。

返回:

返回ability使用的模板类型。

getOrientation

public AbilityInfo.DisplayOrientation getOrientation()

获取ability的显示方向。

方向仅对使用页面模板的ability有效。 它可以是以下任何值:

  • DisplayOrientation#UNSPECIFIED: 系统自动确定ability的显示方向。
  • DisplayOrientation#LANDSCAPE: ability横向显示。
  • DisplayOrientation#PORTRAIT: ability以纵向显示。
  • DisplayOrientation#FOLLOWRECENT: ability的显示方向与堆栈中最近的ability相同。

您可以在配置文件中配置此标签。 默认值未指定,您可以保留默认值。

返回:

返回ability的显示方向。

getLaunchMode

public AbilityInfo.LaunchMode getLaunchMode()

获取能力的启动模式,单例或标准。

在 LaunchMode#STANDARD 模式中,一个技能可以有多个实例,而在 LaunchMode#SINGLETON 模式中,一个技能只有一个实例。 您可以在配置文件中配置启动模式标签。 默认值为单例,您可以保留默认值。

返回:

返回ability的启动模式。

getBundleName

public String getBundleName()

获取包含该ability的捆绑包的名称。

返回:

返回包含该ability的捆绑包的名称。

getClassName

public String getClassName()

获取ability的类名。

类名由捆绑名称和ability名称标签的值组合而成。

返回:

返回ability的类名。

getOriginalClassName

public String getOriginalClassName()

获取ability的原始类名。

shell类名由shell包名和shell能力的name标签的值组合而成。

返回:

返回ability的类名。

getPermissions

public ListString getPermissions()

获取其他ability调用当前ability所需的权限。

每个权限必须是一个字符串,通常是一个反向域名。 您可以指定预定义的权限或应用程序自定义的权限。 此标签中指定的自定义权限名称必须与def-permissions标签中定义的权限名称的值相同。 您可以在配置文件中配置权限标签。 默认值为空列表,您可以保留默认值。

返回:

返回其他ability调用当前ability所需的权限列表。

getDeviceTypes

public ListString getDeviceTypes()

获取ability可以运行的设备类型。

device-type 指定运行ability的设备类型。 预定义的类型是 tv、pc、car 和 watch。 您可以在配置文件中配置此标签。

返回:

返回可以运行该ability的设备类型列表。

getDeviceCapabilities

public ListString getDeviceCapabilities()

获取运行ability所需的设备ability。

device-capability 表示设备运行ability所应具备的ability。 功能必须与设备配置文件中描述的ability一致。 您可以在配置文件中配置此标签。 默认值为空列表,表示运行ability不需要设备ability,可以保留默认值。

返回:

返回运行ability所需的设备ability。

getURI

public String getURI()

获取ability的统一资源标识符 (URI)。

返回:

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

isDifferentName

public boolean isDifferentName()

判断ability是否处于和谐过渡阶段。

返回:

如果ability处于和谐过渡阶段,则返回真; 否则返回 false。

getModuleName

public String getModuleName()

获取ability的模块名称标签。

module-name 表示ability所属的 HAP 文件的名称。 此标记由 IDE 自动生成。

返回:

返回 HAP 文件的名称。

getProcess

public String getProcess()

获取应运行此ability的进程的名称。

进程名称在 config.json 文件中该ability的进程属性中设置。 如果未设置,则默认使用为应用程序设置的进程属性。

返回:

返回进程名称。

getTargetAbility

public String getTargetAbility()

获得该ability指向的目标ability。

如果你在config.json中为这个ability设置了targetAbility属性,那么这个ability只是一个ability别名,targetAbility指定的ability就是它所指向的真正ability。 如果在当前bundle中找不到指定的目标ability,config.json会解析失败。

返回:

返回目标ability的类名。

getFormEnabled

public boolean getFormEnabled()

获取ability的formEnabled标签。

formEnabled 指定是否为使用页面模板的ability启用 AbilityForm。 对于使用任何其他模板的ability,请勿将此标签设置为 true。 默认值为 false,您可以保留默认值。

返回:

如果为ability启用了 AbilityForm,则返回 true; 否则返回 false。

getBackgroundModes

public int getBackgroundModes()

获取ability的 backgroundModes 标签。

backgroundModes 专用于使用服务模板的ability。 您可以使用此标签将一个或多个后台服务模式分配给ability。 可用的后台模式及其各自的标签值如下:

  • data-transfer: 用于从网络或对等设备下载、备份、共享或传输数据的服务。 标签值为 0b00000001。
  • audio-playback: 音频输出服务。 标签值为 0b00000010。
  • audio-recording: 音频输入服务。 标签值为 0b00000010。
  • picture-in-picture: 画中画和小窗口视频播放服务。 标签值为 0b00000010。
  • voip: 语音/视频通话和 VoIP 服务。 标签值为 0b00000100。
  • Location: 定位和导航服务。 标签值为 0b00001000。
  • bluetooth-interaction: 基于蓝牙的扫描、连接和传输服务(适用于可穿戴设备)。 标签值为 0b00010000。
  • wifi-interaction: 基于 WLAN 的扫描、连接和传输服务。 标签值为 0b00010000。
  • screen-fetch:屏幕录制和屏幕截图服务。 标签值为 0b00100000。

最终标签值可以是多个先前值的总和。 您需要在此标记中使用单个值(例如 0b00000010 或 0b00010000)一次,以便您的应用程序具有与该值对应的所有背景模式。

返回:

返回一个整数,作为为ability设置的所有值的总和。

getApplicationInfo

public ApplicationInfo getApplicationInfo()

获取有关当前应用程序的信息。

返回:

返回当前应用程序的 ApplicationInfo 对象。

getFormEntity

public int getFormEntity()

获取AbilityForm可以显示的区域。

返回:

如果 AbilityForm 可以显示在主屏幕上,则返回 1; 如果可以在搜索界面显示,则返回 2; 如果可以在两个区域上显示,则返回 3。

getMinFormHeight

public int getMinFormHeight()

获取 AbilityForm 的最小高度。

初始值为0。如果formEnabled设置为false,则该方法无效。

返回:

返回 AbilityForm 的最小高度(以像素为单位)。

getDefaultFormHeight

public int getDefaultFormHeight()

获取 AbilityForm 的默认高度。

初始值为0。如果formEnabled设置为false,则该方法无效。

返回:

返回 AbilityForm 的默认高度(以像素为单位)。

getMinFormWidth

public int getMinFormWidth()

获取 AbilityForm 的最小宽度。

初始值为0。如果formEnabled设置为false,则该方法无效。

返回:

返回 AbilityForm 的最小宽度(以像素为单位)。

getDefaultFormWidth

public int getDefaultFormWidth()

获取 AbilityForm 的默认宽度。

初始值为0。如果formEnabled设置为false,则该方法无效。

返回:

返回 AbilityForm 的默认宽度(以像素为单位)。

getReadPermission

public String getReadPermission()

获得读取数据ability所需的权限。

返回:

返回读取权限的值。

getWritePermission

public String getWritePermission()

获得写入数据ability所需的权限。

返回:

返回写权限。

marshalling

public boolean marshalling(Parcel out)

从接口复制的描述:Sequenceable

将此 Sequenceable 对象编组为 Parcel。

指定者:

接口 Sequenceable 中的编组

参数:

参数名称 参数描述
out 指示将 Sequenceable 对象编组到的 Parcel 对象。

返回:

如果编组成功,则返回 true; 否则返回 false。

unmarshalling

public boolean unmarshalling(Parcel in)

从接口复制的描述:Sequenceable

从 Parcel 中解组此 Sequenceable 对象。

指定者:

在接口 Sequenceable 中解组

参数:

参数名称 参数描述
in 指示已将 Sequenceable 对象编组到的 Parcel 对象。

返回:

如果解组成功,则返回 true; 否则返回 false。

dump

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

将ability信息打印到指定目标。

参数:

参数名称 参数描述
prefix 表示打印信息中包含的属性名称的前缀。
writer 指示信息将被打印到的目标。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果输入参数非法,则抛出此异常。

toString

public String toString()

提供abilityInfo 的名称和hashCode。

覆盖:

类 Object 中的 toString

返回:

字符串格式的信息。