鸿蒙OS IBundleManager

IBundleManager

public interface IBundleManagerextends IRemoteBroker

获取与应用程序包相关的信息。

字段摘要

修饰符和类型 字段 描述
static int ERROR_CODE_DOWNLOAD_FAILED 表示下载失败
static int ERROR_CODE_INSTALL_FAILED 表示安装失败
static int ERROR_CODE_QUERY_FAILED 表示查询失败
static int GET_ABILITY_INFO_WITH_APPLICATION 表示要返回的捆绑信息包括 AbilityInfo 中的应用程序信息。
static int GET_ABILITY_INFO_WITH_PERMISSION 表示要返回的捆绑信息包括 AbilityInfo 中的权限信息。
static int GET_APPLICATION_INFO_WITH_PERMISSION 表示要返回的捆绑信息包括 ApplicationInfo 中的权限信息。
static int GET_BUNDLE_DEFAULT 表示要返回的捆绑包信息不包括ability信息。
static int GET_BUNDLE_WITH_ABILITIES 表示要返回的捆绑包信息包括能力信息。
static int GET_BUNDLE_WITH_REQUESTED_PERMISSION 表示要返回的捆绑信息包括请求的权限信息。
static int PERMISSION_DENIED 表示应用程序没有特定权限。
static int PERMISSION_GRANTED 表示应用程序已被授予特定权限。
static int QUERY_SHORTCUT_HOME 查询主页快捷方式的标志。
static int SHORTCUT_EXISTENCE_EXISTS 表示存在快捷方式。
static int SHORTCUT_EXISTENCE_NOT_EXISTS 表示该快捷方式不存在。
static int SHORTCUT_EXISTENCE_UNKNOW 表示存在未知快捷方式。
static int SIGNATURE_MATCHED 表示两个捆绑包具有相同的签名。
static int SIGNATURE_NOT_MATCHED 表示两个捆绑包具有不同的签名。
static int SIGNATURE_UNKNOWN_BUNDLE 表示系统中未安装两个捆绑包之一。

方法总结

修饰符和类型 方法 描述
boolean addHomeShortcut(ShortcutInfo shortcutInfo) 添加将固定在主屏幕上的主屏幕快捷方式。
int checkPermission(String bundleName, String permission) 检查指定的包是否已被授予特定权限。
int checkPublicKeys(String firstBundleName, String secondBundleName) 检查两个捆绑包的公钥是否相同。
void cleanBundleCacheFiles(String bundleName, ICleanCacheCallback callback) 清除指定应用程序的缓存数据。
void disableHomeShortcuts(ListString shortcutIds) 禁用不再使用的指定主屏幕快捷方式。
void enableHomeShortcuts(ListString shortcutIds) 启用指定的主屏幕快捷方式。
int executeBackupTask(int sessionId, String taskCmd) 执行备份或恢复任务。
int finishBackupSession(int sessionId) 完成备份或恢复会话。
PixelMap getAbilityIcon(String bundleName, String className) 获取指定ability的图标。
String getAbilityLabel(String bundleName, String className) 获取指定ability的标签。
default ListFormInfo getAllForms() 已弃用。 请改用 getAllFormsInfo()。
ListFormInfo getAllFormsInfo() 获取设备上所有ohos应用提供的FormInfo对象。
OptionalListPermissionGroupDef getAllPermissionGroupDefs() 获取系统中所有已知的权限组。
ApplicationInfo getApplicationInfo(String bundleName, int flags, int userId) 根据给定的包名称获取 ApplicationInfo。
ListApplicationInfo getApplicationInfos(int flags, int userId) 获取指定用户的所有已安装应用程序的信息。
ListString getAppsGrantedPermissions(String[] permissions) 获取具有指定权限的应用程序列表。
String getAppType(String bundleName) 根据给定的包名称获取指定应用程序的类型。
BundleInfo getBundleArchiveInfo(String hapFilePath, int flags) 获取有关 ohos ability包 (HAP) 中包含的应用程序包的信息。
int[] getBundleGids(String bundleName) 获取与指定捆绑包关联的所有组 ID 的数组。
BundleInfo getBundleInfo(String bundleName, int flags) 根据给定的包名称获取 BundleInfo。
BundleInfo getBundleInfo(String networkId, String bundleName, int flags) 根据给定的 networkId 和包名称获取 BundleInfo。
ListBundleInfo getBundleInfos(int flags) 获取系统中所有可用捆绑包的 BundleInfo。
IBundleInstaller getBundleInstaller() 获取用于安装 bundle 的接口。
ListString getBundlesForUid(int uid) 根据给定的应用程序 UID 获取指定应用程序的所有捆绑包名称。
boolean getClearUserDataFlag(String bundleName, String moduleName) 根据给定的包名称获取指定应用程序的类型。
default ListFormInfo getFormsByApp(String bundleName) 已弃用。 请改用 getFormsInfoByApp(java.lang.String) 。
default ListFormInfo getFormsByModule(String bundleName, String moduleName) 已弃用。 请改用 getFormsInfoByModule(java.lang.String,java.lang.String) 。
ListFormInfo getFormsInfoByApp(String bundleName) 获取设备上指定的ohos应用提供的FormInfo对象。
ListFormInfo getFormsInfoByModule(String bundleName, String moduleName) 获取设备上指定应用模块提供的FormInfo对象。
ListShortcutInfo getHomeShortcutInfos() 获取所有主屏幕快捷方式。
Intent getLaunchIntentForBundle(String bundleName) 根据给定的包名称获取启动应用程序主要功能的意图。
AbilityInfo getModuleMainAbility(String bundleName, String moduleName) 通过 bundleName 和 moduleName 获取 mainAbility 信息。
String getNameForUid(int uid) 获取与给定 UID 关联的正式名称。
PermissionDef getPermissionDef(String permissionName) 获取指定权限的详细信息。
OptionalListPermissionDef getPermissionDefByGroup(String permissionGroupName) 获取指定权限组中所有权限的信息。
OptionalPermissionGroupDef getPermissionGroupDef(String permissionGroupName) 获取指定权限组的信息。
ListShortcutInfo getShortcutInfos(String bundleName) 获取有关应用程序快捷方式的信息。
ListString getSystemAvailableCapabilities() 获取系统中可用的ability。
int getUidByBundleName(String bundleName, int userId) 根据给定的包名称和用户 ID 获取应用程序 UID。
boolean hasSystemCapability(String name) 检查系统是否具有指定的ability。
boolean isAbilityEnabled(AbilityInfo abilityInfo) 检查是否启用了指定的ability。
boolean isApplicationEnabled(String bundleName) 检查是否启用了指定的应用程序。
boolean isHomeShortcutSupported() 检查是否可以将快捷方式添加到应用程序所在的主屏幕。
boolean isSafeMode() 检查当前设备是否已在安全模式下启动。
boolean isShortcutExist(String shortcutId) 检查指定的快捷方式是否可用。
int isShortcutExist(String shortcutId, int flag) 检查指定的快捷方式是否可用。
ListAbilityInfo queryAbilityByIntent(Intent intent, int flags, int userId) 根据给定的意图查询所有 AbilityInfo 信息。
void registerAllPermissionsChanged(IRemoteObject callback) 注册一个回调来监听所有 UID 的权限变化。
void registerPermissionsChanged(int[] uids, IRemoteObject callback) 注册一个回调,用于监听指定 UID 的权限变化。
void setAbilityEnabled(AbilityInfo abilityInfo, boolean isEnabled) 设置是否启用指定的能力。
void setApplicationEnabled(String bundleName, boolean isEnabled) 设置是否启用指定的应用程序。
boolean setClearUserDataFlag(String packageName, boolean flag) 根据给定的包名称获取指定应用程序的类型。
boolean setFormEnabled(FormBaseInfo baseInfo, boolean isEnabled) 设置表单启用或禁用。
int startBackupSession(IBackupSessionCallback callback) 启动备份或恢复会话。
void startShortcut(String shortcutId, String bundleName) 根据给定的快捷方式 ID 和包名称启动快捷方式。
void unregisterPermissionsChanged(IRemoteObject callback) 取消注册指定的回调以侦听权限更改。
boolean updateShortcuts(ListShortcutInfo shortcutInfos) 更新有关已添加的指定主屏幕快捷方式的信息。
从接口 ohos.rpc.IRemoteBroker 继承的方法
asObject

字段详细信息

ERROR_CODE_DOWNLOAD_FAILED

static final int ERROR_CODE_DOWNLOAD_FAILED

表示下载失败

ERROR_CODE_INSTALL_FAILED

static final int ERROR_CODE_INSTALL_FAILED

表示安装失败

ERROR_CODE_QUERY_FAILED

static final int ERROR_CODE_QUERY_FAILED

表示查询失败

GET_ABILITY_INFO_WITH_APPLICATION

static final int GET_ABILITY_INFO_WITH_APPLICATION

表示要返回的捆绑信息包括 AbilityInfo 中的应用程序信息。

值为 0x00000004。

GET_ABILITY_INFO_WITH_PERMISSION

static final int GET_ABILITY_INFO_WITH_PERMISSION

表示要返回的捆绑信息包括 AbilityInfo 中的权限信息。

值为 0x00000002。

GET_APPLICATION_INFO_WITH_PERMISSION

static final int GET_APPLICATION_INFO_WITH_PERMISSION

表示要返回的捆绑信息包括 ApplicationInfo 中的权限信息。

值为 0x00000008。

GET_BUNDLE_DEFAULT

static final int GET_BUNDLE_DEFAULT

表示要返回的捆绑包信息不包括ability信息。

值为 0x00000000。

GET_BUNDLE_WITH_ABILITIES

static final int GET_BUNDLE_WITH_ABILITIES

表示要返回的捆绑包信息包括ability信息。

值为 0x00000001。

GET_BUNDLE_WITH_REQUESTED_PERMISSION

static final int GET_BUNDLE_WITH_REQUESTED_PERMISSION

表示要返回的捆绑信息包括请求的权限信息。

值为 0x00000010。

PERMISSION_DENIED

static final int PERMISSION_DENIED

表示应用程序没有特定权限。

权限检查时,如果应用程序没有特定权限或其他原因检查失败,则返回该值。

PERMISSION_GRANTED

static final int PERMISSION_GRANTED

表示应用程序已被授予特定权限。

在权限检查时,如果应用程序已经拥有特定权限,则返回此值。 否则,返回 PERMISSION_DENIED。

QUERY_SHORTCUT_HOME

static final int QUERY_SHORTCUT_HOME

查询主页快捷方式的标志。

SHORTCUT_EXISTENCE_EXISTS

static final int SHORTCUT_EXISTENCE_EXISTS

表示存在快捷方式。

SHORTCUT_EXISTENCE_NOT_EXISTS

static final int SHORTCUT_EXISTENCE_NOT_EXISTS

表示该快捷方式不存在。

SHORTCUT_EXISTENCE_UNKNOW

static final int SHORTCUT_EXISTENCE_UNKNOW

表示存在未知快捷方式。

SIGNATURE_MATCHED

static final int SIGNATURE_MATCHED

表示两个捆绑包具有相同的签名。

SIGNATURE_NOT_MATCHED

static final int SIGNATURE_NOT_MATCHED

表示两个捆绑包具有不同的签名。

SIGNATURE_UNKNOWN_BUNDLE

static final int SIGNATURE_UNKNOWN_BUNDLE

表示系统中未安装两个捆绑包之一。

方法详情

getBundleInfo

BundleInfo getBundleInfo(String bundleName, int flags) throws RemoteException

根据给定的包名称获取 BundleInfo。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别, ohos.permission.GET_BUNDLE_INFO 权限为普通级别。

要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 BundleInfo 对象。
  • 0x00000001: 返回指定了ability信息的 BundleInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
bundleName 指示要查询的应用程序包名称。
flags 指示用于指定将返回的 BundleInfo 中包含的信息的标志。

返回:

返回 BundleInfo 对象。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getBundleInfo

BundleInfo getBundleInfo(String networkId, String bundleName, int flags) throws RemoteException

根据给定的 networkId 和包名称获取 BundleInfo。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别, ohos.permission.GET_BUNDLE_INFO 权限为普通级别。

要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 BundleInfo 对象。
  • 0x00000001: 返回指定了ability信息的 BundleInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
networkId 表示局域网中的设备networkId。
bundleName 指示要查询的应用程序包名称。
flags 指示用于指定将返回的 BundleInfo 中包含的信息的标志。

返回:

返回 BundleInfo 对象。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getBundleInstaller

IBundleInstaller getBundleInstaller() throws RemoteException

获取用于安装 bundle 的接口。

要使用此方法,您需要向系统请求 ohos.permission.INSTALL_BUNDLE 权限。

返回:

返回 IBundleInstaller 接口。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getApplicationInfo

ApplicationInfo getApplicationInfo(String bundleName, int flags, int userId) throws RemoteException

根据给定的包名称获取 ApplicationInfo。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别, ohos.permission.GET_BUNDLE_INFO 权限为普通级别。

要返回的 ApplicationInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 ApplicationInfo 对象。
  • 0x00000008: 返回具有指定权限的 ApplicationInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
bundleName 指示要查询的应用程序包名称。
flags 指示用于指定将返回的 ApplicationInfo 对象中包含的信息的标志。
userId 表示用户标识

返回:

返回 ApplicationInfo 对象。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

checkPermission

int checkPermission(String bundleName, String permission)

检查指定的包是否已被授予特定权限。

参数:

参数名称 参数描述
bundleName 指示要检查的捆绑包的名称。
permission 表示检查的权限。

返回:

如果 bundle 有权限,则返回 0; 否则返回 -1。

queryAbilityByIntent

ListAbilityInfo queryAbilityByIntent(Intent intent, int flags, int userId) throws RemoteException

根据给定的意图查询所有 AbilityInfo 信息。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别, ohos.permission.GET_BUNDLE_INFO 权限为普通级别。

要返回的 AbilityInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本 AbilityInfo 对象。
  • 0x00000002: 返回具有指定权限的 AbilityInfo 对象。
  • 0x00000004: 返回指定 applicationInfo 的 AbilityInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
intent 指示包含要查询的应用程序包名称的 Intent。
flags 指示用于指定将返回的 AbilityInfo 对象中包含的信息的标志。
userId 表示用户标识

返回:

返回 AbilityInfo 对象的列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getBundleInfos

ListBundleInfo getBundleInfos(int flags) throws RemoteException

获取系统中所有可用捆绑包的 BundleInfo。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限属于签名|特权级别。

要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 BundleInfo 对象。
  • 0x00000001: 返回具有指定ability信息的 BundleInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
flags 指示用于指定将返回的 BundleInfo 中包含的信息的标志。

返回:

返回 BundleInfo 对象的列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getUidByBundleName

int getUidByBundleName(String bundleName, int userId) throws RemoteException

根据给定的包名称和用户 ID 获取应用程序 UID。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别, ohos.permission.GET_BUNDLE_INFO 权限为普通级别。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。
userId 表示用户标识

Returns:

返回应用程序的UID

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getBundlesForUid

ListString getBundlesForUid(int uid) throws RemoteException

根据给定的应用程序 UID 获取指定应用程序的所有捆绑包名称。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限属于签名|特权级别。

参数:

参数名称 参数描述
uid 表示应用程序UID

返回:

返回捆绑包名称的列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

registerAllPermissionsChanged

void registerAllPermissionsChanged(IRemoteObject callback) throws RemoteException

注册一个回调来监听所有 UID 的权限变化。

调用此方法后,当任何 UID 的权限发生变化时,都会通知调用者。 您可以调用 unregisterPermissionsChanged(ohos.rpc.IRemoteObject) 取消注册监听器。

要使用此方法,您需要向系统请求 ohos.permission.LISTEN_PERMISSION_CHANGE 权限。 ohos.permission.LISTEN_PERMISSION_CHANGE 权限属于签名|特权级别。

参数:

参数名称 参数描述
callback 表示要注册的回调方法。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

registerPermissionsChanged

void registerPermissionsChanged(int[] uids, IRemoteObject callback) throws RemoteException

注册一个回调,用于监听指定 UID 的权限变化。

调用该方法后,当给定UID的权限发生变化时,会通知调用者。 您可以调用 unregisterPermissionsChanged(ohos.rpc.IRemoteObject) 取消注册监听器。

要使用此方法,您需要向系统请求 ohos.permission.LISTEN_PERMISSION_CHANGE 权限。 ohos.permission.LISTEN_PERMISSION_CHANGE 权限属于签名|特权级别。

参数:

参数名称 参数描述
uids 表示将监控其权限更改的UID列表。
callback 表示要注册的回调方法。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

unregisterPermissionsChanged

void unregisterPermissionsChanged(IRemoteObject callback) throws RemoteException

取消注册指定的回调以侦听权限更改。

要使用此方法,您需要向系统请求 ohos.permission.LISTEN_PERMISSION_CHANGE 权限。 ohos.permission.LISTEN_PERMISSION_CHANGE 权限属于签名|特权级别。

参数:

参数名称 参数描述
callback 表示要注销的回调方法。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getApplicationInfos

ListApplicationInfo getApplicationInfos(int flags, int userId) throws RemoteException

获取指定用户的所有已安装应用程序的信息。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 或 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为普通级别, ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限为签名|特权级别。

要返回的 ApplicationInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 ApplicationInfo 对象。
  • 0x00000008: 返回具有指定权限的 ApplicationInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
flags 指示用于指定将返回的 ApplicationInfo 对象中包含的信息的标志。
userId 表示用户标识

返回:

返回 ApplicationInfo 对象的列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getSystemAvailableCapabilities

ListString getSystemAvailableCapabilities()

获取系统中可用的能力。

返回:

返回系统中可用功能的列表。

hasSystemCapability

boolean hasSystemCapability(String name)

检查系统是否具有指定的能力。

参数:

参数名称 参数描述
name 指示要检查的系统功能的名称。

返回:

如果 name 指定的给定功能在系统中可用,则返回 true; 否则返回 false。

getBundleGids

int[] getBundleGids(String bundleName)

获取与指定捆绑包关联的所有组 ID 的数组。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。

返回:

返回一个 int 数组,其中包含与指定捆绑包关联的组 ID。

checkPublicKeys

int checkPublicKeys(String firstBundleName, String secondBundleName) throws RemoteException

检查两个捆绑包的公钥是否相同。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为正常级别。

参数:

参数名称 参数描述
firstBundleName 指示要比较的捆绑包的名称。
secondBundleName 指示要比较的另一个捆绑包的名称。

返回:

如果未找到至少一个给定的捆绑包,则返回 SIGNATURE_UNKNOWN_BUNDLE; 如果它们的公钥不同,则返回 SIGNATURE_NOT_MATCHED; 如果它们的公钥相同,则返回 SIGNATURE_MATCHED。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。

getNameForUid

String getNameForUid(int uid) throws RemoteException

获取与给定 UID 关联的正式名称。 正式名称永远不会改变,但 UID 可以。 因此,如果要存储有关 UID 的信息,则应存储其正式名称而不是原始 UID。

参数:

参数名称 参数描述
uid 表示应用程序的UID。

返回:

如果在 config.json 文件中配置了 shared-userid,则以 shared-userid:uid 格式返回与 UID 关联的唯一名称; 否则返回包名。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。

getBundleArchiveInfo

BundleInfo getBundleArchiveInfo(String hapFilePath, int flags)

获取有关 ohos ability包 (HAP) 中包含的应用程序包的信息。

要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。

  • 0x00000000: 返回基本的 BundleInfo 对象。
  • 0x00000001: 返回指定了ability信息的 BundleInfo 对象。
  • Other value: 返回与 0x00000000 相同的结果。

参数:

参数名称 参数描述
hapFilePath HAP存储路径。 路径应该是当前应用程序数据目录的相对路径。
flags 指示用于指定要返回的 BundleInfo 对象中包含的信息的标志。

返回:

返回 BundleInfo 对象。

isSafeMode

boolean isSafeMode()

检查当前设备是否已在安全模式下启动。

返回:

如果设备处于安全模式,则返回 true; 否则返回 false。

getLaunchIntentForBundle

Intent getLaunchIntentForBundle(String bundleName) throws RemoteException

根据给定的包名称获取启动应用程序主要功能的意图。 应用程序的主要ability是在应用程序的 config.json 文件中设置 Intent.ACTION_HOME 和 Intent.ENTITY_HOME intent过滤器的ability。

要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限属于签名|特权级别。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。

返回:

返回启动应用程序主要ability的intent(如果有); 如果给定的捆绑包不存在或不包含任何主要ability,则返回 null。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

setApplicationEnabled

void setApplicationEnabled(String bundleName, boolean isEnabled) throws IllegalArgumentException

设置是否启用指定的应用程序。

要使用此方法,您需要向系统请求 ohos.permission.CHANGE_ABILITY_ENABLED_STATE 权限。 ohos.permission.CHANGE_ABILITY_ENABLED_STATE 权限属于签名|特权级别。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。
isEnabled 指定是否启用应用程序。 值 true 表示启用它,值 false 表示禁用它。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果给定的包不存在,则抛出此异常。
SecurityException 引发此异常以指示安全违规。

setAbilityEnabled

void setAbilityEnabled(AbilityInfo abilityInfo, boolean isEnabled) throws IllegalArgumentException

设置是否启用指定的ability。

要使用此方法,您需要向系统请求 ohos.permission.CHANGE_ABILITY_ENABLED_STATE 权限。 ohos.permission.CHANGE_ABILITY_ENABLED_STATE 权限属于签名|特权级别。

参数:

参数名称 参数描述
abilityInfo 表示有关设置ability的信息。
isEnabled 指定是否启用该ability。 值 true 表示启用它,值 false 表示禁用它。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果给定的ability不存在,则抛出此异常。
SecurityException 引发此异常以指示安全违规。

isApplicationEnabled

boolean isApplicationEnabled(String bundleName) throws IllegalArgumentException

检查是否启用了指定的应用程序。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。

返回:

如果应用程序已启用,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果给定的包不存在,则抛出此异常。

isAbilityEnabled

boolean isAbilityEnabled(AbilityInfo abilityInfo) throws IllegalArgumentException

检查是否启用了指定的ability。

参数:

参数名称 参数描述
abilityInfo 表示有关检查ability的信息。

返回:

如果启用该能力,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果给定的ability不存在,则抛出此异常。

startBackupSession

int startBackupSession(IBackupSessionCallback callback)

启动备份或恢复会话。 应该在执行备份或恢复任务之前调用此方法。

参数:

参数名称 参数描述
callback 指示用于通知应用程序备份或恢复任务状态的IBackupSessionCallback。

返回:

如果会话成功启动,则返回一个正整数,用作进一步任务处理的会话 ID; 如果发生常见故障,则返回 -1;如果您的应用程序无权调用此方法,则返回 -2。

executeBackupTask

int executeBackupTask(int sessionId, String taskCmd)

执行备份或恢复任务。

参数:

参数名称 参数描述
sessionId 指示备份或恢复任务的会话 ID。
taskCmd 指示要执行的任务命令。

返回:

任务启动成功返回0; 如果发生常见故障,则返回 -1; 如果您的应用程序无权调用此方法,则返回 -2; 如果不支持任务命令,则返回 -3;如果已发出任务命令,则返回 -4。

finishBackupSession

int finishBackupSession(int sessionId)

完成备份或恢复会话。

参数:

参数名称 参数描述
sessionId 指示要完成的会话的 ID。

返回:

如果会话成功结束,则返回 0; 如果发生常见故障,则返回 -1; 如果您的应用程序无权调用此方法,则返回 -2。

getShortcutInfos

ListShortcutInfo getShortcutInfos(String bundleName) throws RemoteException

获取有关应用程序快捷方式的信息。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 和 ohos.permission.MANAGE_SHORTCUTS 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为普通级别, ohos.permission.MANAGE_SHORTCUTS 权限为签名级别。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。

返回:

返回包含有关应用程序的快捷方式信息的 ShortcutInfo 对象列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getPermissionDef

PermissionDef getPermissionDef(String permissionName)

获取指定权限的详细信息。

参数:

参数名称 参数描述
permissionName 表示 ohos 权限的名称。

返回:

返回包含有关给定 ohos 权限的详细信息的 PermissionDef 对象。

getPermissionGroupDef

OptionalPermissionGroupDef getPermissionGroupDef(String permissionGroupName)

获取指定权限组的信息。

参数:

参数名称 参数描述
permissionGroupName 权限组名称

返回:

返回包含有关给定权限组的详细信息的 PermissionGroupDef 对象。

getPermissionDefByGroup

OptionalListPermissionDef getPermissionDefByGroup(String permissionGroupName)

获取指定权限组中所有权限的信息。

参数:

参数名称 参数描述
permissionGroupName 权限组名称

返回:

返回 PermissionDef 对象,其中包含有关给定权限组中所有权限的详细信息。

cleanBundleCacheFiles

void cleanBundleCacheFiles(String bundleName, ICleanCacheCallback callback)

清除指定应用程序的缓存数据。

要使用此方法,您的应用程序必须已获得 ohos.permission.REMOVE_CACHE_FILES 权限。

参数:

参数名称 参数描述
bundleName 表示要清除缓存数据的应用的bundle名称。
callback 表示为返回操作结果而调用的回调。 有关详细信息,请参阅 ICleanCacheCallback。

Throws:

Throw名称 Throw描述
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

startShortcut

void startShortcut(String shortcutId, String bundleName) throws RemoteException

根据给定的快捷方式 ID 和包名称启动快捷方式。

要使用此方法,您需要向系统请求 ohos.permission.MANAGE_SHORTCUTS 权限。 ohos.permission.MANAGE_SHORTCUTS 权限属于签名级别。

参数:

参数名称 参数描述
shortcutId 指示要启动的快捷方式的 ID。
bundleName BundleName 表示快捷方式所属的应用程序的包名。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 如果您的应用程序没有所需的权限,则引发此异常。

getAppType

String getAppType(String bundleName) throws RemoteException

根据给定的包名称获取指定应用程序的类型。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为正常级别。

参数:

参数名称 参数描述
bundleName 指示应用程序的捆绑包名称。

返回:

如果应用程序是系统应用程序,则返回系统; 如果在 Ohos AppGallery 中发布,则返回正常; 如果由第三方供应商发布,则返回其他; 如果查询失败,则返回一个空字符串。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。

isShortcutExist

int isShortcutExist(String shortcutId, int flag)

检查指定的快捷方式是否可用。

参数:

参数名称 参数描述
shortcutId 表示要检查的快捷方式的ID。
flag 指示要检查的快捷方式的类型。 目前,只有主屏幕快捷方式 IBundleManager#QUERY_SHORTCUT_HOME 可用。

返回:

如果指定的快捷方式可用,则返回 IBundleManager#SHORTCUT_EXISTENCE_EXISTS; 如果不可用,则返回 IBundleManager#SHORTCUT_EXISTENCE_NOT_EXISTS; 如果发生错误,则返回 IBundleManager.SHORTCUT_EXISTENCE_UNKNOW。

isShortcutExist

boolean isShortcutExist(String shortcutId)

检查指定的快捷方式是否可用。

参数:

参数名称 参数描述
shortcutId 表示要检查的快捷方式的ID。

返回:

如果指定的快捷方式可用,则返回 true; 否则返回 false。

isHomeShortcutSupported

boolean isHomeShortcutSupported()

检查是否可以将快捷方式添加到应用程序所在的主屏幕。

返回:

如果可以将快捷方式添加到主屏幕,则返回 true; 否则返回 false。

addHomeShortcut

boolean addHomeShortcut(ShortcutInfo shortcutInfo) throws IllegalArgumentException, IllegalStateException

添加将固定在主屏幕上的主屏幕快捷方式。

参数:

参数名称 参数描述
shortcutInfo 指示包含有关要添加的主屏幕快捷方式信息的 ShortcutInfo 对象。 必须指定此参数的 id、label 和 intent 属性。

返回:

如果快捷方式添加成功,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果shortcutInfo 参数的id、label 或intents 属性为null,或者要添加的快捷方式已存在但被禁用,则引发此异常。
IllegalStateException 如果调用应用程序在后台运行,则引发此异常。

updateShortcuts

boolean updateShortcuts(ListShortcutInfo shortcutInfos)

更新有关已添加的指定主屏幕快捷方式的信息。

参数:

参数名称 参数描述
shortcutInfos 指示要更新的快捷方式列表。

返回:

如果操作成功,则返回 true; 否则返回 false。

disableHomeShortcuts

void disableHomeShortcuts(ListString shortcutIds) throws IllegalArgumentException

禁用不再使用的指定主屏幕快捷方式。

参数:

参数名称 参数描述
shortcutIds 指示要禁用的快捷方式 ID 列表。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果在 shortcutIds 中指定了静态快捷方式,则引发此异常。

enableHomeShortcuts

void enableHomeShortcuts(ListString shortcutIds) throws IllegalArgumentException

启用指定的主屏幕快捷方式。

参数:

参数名称 参数描述
shortcutIds 指示要启用的快捷方式 ID 列表。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果在 shortcutIds 中指定了静态快捷方式,则引发此异常。

getHomeShortcutInfos

ListShortcutInfo getHomeShortcutInfos()

获取所有主屏幕快捷方式

返回:

返回所有主屏幕快捷方式的列表。

getAllPermissionGroupDefs

OptionalListPermissionGroupDef getAllPermissionGroupDefs()

获取系统中所有已知的权限组。

返回:

返回包含权限组信息的 PermissionGroupDef 对象列表。

getAppsGrantedPermissions

ListString getAppsGrantedPermissions(String[] permissions) throws RemoteException

获取具有指定权限的应用程序列表。

权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

参数:

参数名称 参数描述
permissions 表示权限数组。

返回:

返回具有指定权限的应用程序列表。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。
SecurityException 引发此异常以指示安全违规。

getAbilityIcon

PixelMap getAbilityIcon(String bundleName, String className) throws RemoteException

获取指定能力的图标。

权限:SystemPermission.GET_BUNDLE_INFO、SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

参数:

参数名称 参数描述
bundleName 表示该ability所属的应用程序的捆绑包名称。
className 表示ability的类名。

返回:

返回表示指定ability图标的 PixelMap 对象。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。

getAbilityLabel

String getAbilityLabel(String bundleName, String className) throws RemoteException

获取指定ability的标签。

权限:SystemPermission.GET_BUNDLE_INFO、SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

参数:

参数名称 参数描述
bundleName 表示该ability所属的应用程序的捆绑包名称。
className 表示ability的类名。

返回:

返回表示指定ability的标签。

Throws:

Throw名称 Throw描述
RemoteException 如果系统无法获取捆绑管理器服务,则抛出此异常。

getAllFormsInfo

ListFormInfo getAllFormsInfo() throws RemoteException

获取设备上所有ohos应用提供的FormInfo对象。

权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

返回:

如果获得,则返回 FormInfo 对象的列表; 如果设备上没有可用的 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getAllForms

@Deprecated default ListFormInfo getAllForms() throws RemoteException

已弃用。 请改用 getAllFormsInfo()。

获取设备上所有ohos应用提供的FormInfo对象。

权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

返回:

如果获得,则返回 FormInfo 对象的列表; 如果设备上没有可用的 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getFormsInfoByApp

ListFormInfo getFormsInfoByApp(String bundleName) throws RemoteException

获取设备上指定的ohos应用提供的FormInfo对象。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限是签名|特权级别, ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限是普通级别。

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。 具体来说,它是在 Harmony 应用程序的 config.json 文件的 app 标签中定义的 bundleName 属性的值。

返回:

如果获得,则返回 FormInfo 对象的列表; 如果指定的应用程序没有提供 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getFormsByApp

@Deprecated default ListFormInfo getFormsByApp(String bundleName) throws RemoteException

已弃用。 请改用 getFormsInfoByApp(java.lang.String) 。

获取设备上指定的ohos应用提供的FormInfo对象。

权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。 具体来说,它是在 Harmony 应用程序的 config.json 文件的 app 标签中定义的 bundleName 属性的值。

返回:

如果获得,则返回 FormInfo 对象的列表; 如果指定的应用程序没有提供 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getFormsInfoByModule

ListFormInfo getFormsInfoByModule(String bundleName, String moduleName) throws RemoteException

获取设备上指定应用模块提供的FormInfo对象。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限是签名|特权级别, ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限是普通级别。

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。 具体来说,它是在 Harmony 应用程序的 config.json 文件的 app 标签中定义的 bundleName 属性的值。
moduleName 表示 ohos 应用的模块名称。 具体来说,它是 Harmony 应用程序的 config.json 文件的模块标签中定义的 distro 属性的 moduleName 子属性的值。

返回:

如果获得,则返回 FormInfo 对象的列表; 如果指定的应用程序模块没有提供 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getFormsByModule

@Deprecated default ListFormInfo getFormsByModule(String bundleName, String moduleName) throws RemoteException

已弃用。 请改用 getFormsInfoByModule(java.lang.String,java.lang.String) 。

获取设备上指定应用模块提供的FormInfo对象。

权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。 具体来说,它是在 Harmony 应用程序的 config.json 文件的 app 标签中定义的 bundleName 属性的值。
moduleName 表示 ohos 应用的模块名称。 具体来说,它是 Harmony 应用程序的 config.json 文件的模块标签中定义的 distro 属性的 moduleName 子属性的值。

返回:

如果获得,则返回 FormInfo 对象的列表; 如果指定的应用程序模块没有提供 FormInfo,则返回一个空列表。

Throws:

Throw名称 Throw描述
RemoteException 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。
SecurityException 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。

getModuleMainAbility

AbilityInfo getModuleMainAbility(String bundleName, String moduleName) throws RemoteException

通过 bundleName 和 moduleName 获取 mainAbility 信息。

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。
moduleName 表示 ohos 应用的模块名称。

返回:

匹配 bundleName 和 moduleName 的能力信息信息。

Throws:

Throw名称 Throw描述
RemoteException 函数 sendRequest 可能会抛出 RemoteException。

getClearUserDataFlag

boolean getClearUserDataFlag(String bundleName, String moduleName)

根据给定的包名称获取指定应用程序的类型。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为正常级别。

参数:

参数名称 参数描述
bundleName 指示 ohos 应用程序的捆绑包名称。
moduleName 表示 ohos 应用的模块名称。

返回:

如果操作成功执行,则为 true,否则为 false 或未找到模块。

setClearUserDataFlag

boolean setClearUserDataFlag(String packageName, boolean flag)

根据给定的包名称获取指定应用程序的类型。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为正常级别。

参数:

参数名称 参数描述
packageName 表示应用程序的包名。
flag 指示要清除的标志。

返回:

如果操作更新成功,则为 true,否则为 false。

setFormEnabled

boolean setFormEnabled(FormBaseInfo baseInfo, boolean isEnabled) throws IllegalArgumentException, RemoteException, SecurityException

设置表单启用或禁用。

要使用此方法,您需要向系统请求 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限。 ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限为正常级别。

参数:

参数名称 参数描述
FormBaseInfo 表格信息
isEnabled 表单是否启用

返回:

受信任的捆绑包名称。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果 FormBaseInfo 无效。
RemoteException 如果应用程序和包管理器服务之间的连接错误。
SecurityException 如果表单不属于调用者。
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS IBundleManager》
文章链接:https://zhuji.vsping.com/313164.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。