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 |
static final int ERROR_CODE_DOWNLOAD_FAILED
表示下载失败
static final int ERROR_CODE_INSTALL_FAILED
表示安装失败
static final int ERROR_CODE_QUERY_FAILED
表示查询失败
static final int GET_ABILITY_INFO_WITH_APPLICATION
表示要返回的捆绑信息包括 AbilityInfo 中的应用程序信息。
值为 0x00000004。
static final int GET_ABILITY_INFO_WITH_PERMISSION
表示要返回的捆绑信息包括 AbilityInfo 中的权限信息。
值为 0x00000002。
static final int GET_APPLICATION_INFO_WITH_PERMISSION
表示要返回的捆绑信息包括 ApplicationInfo 中的权限信息。
值为 0x00000008。
static final int GET_BUNDLE_DEFAULT
表示要返回的捆绑包信息不包括ability信息。
值为 0x00000000。
static final int GET_BUNDLE_WITH_ABILITIES
表示要返回的捆绑包信息包括ability信息。
值为 0x00000001。
static final int GET_BUNDLE_WITH_REQUESTED_PERMISSION
表示要返回的捆绑信息包括请求的权限信息。
值为 0x00000010。
static final int PERMISSION_DENIED
表示应用程序没有特定权限。
权限检查时,如果应用程序没有特定权限或其他原因检查失败,则返回该值。
static final int PERMISSION_GRANTED
表示应用程序已被授予特定权限。
在权限检查时,如果应用程序已经拥有特定权限,则返回此值。 否则,返回 PERMISSION_DENIED。
static final int QUERY_SHORTCUT_HOME
查询主页快捷方式的标志。
static final int SHORTCUT_EXISTENCE_EXISTS
表示存在快捷方式。
static final int SHORTCUT_EXISTENCE_NOT_EXISTS
表示该快捷方式不存在。
static final int SHORTCUT_EXISTENCE_UNKNOW
表示存在未知快捷方式。
static final int SIGNATURE_MATCHED
表示两个捆绑包具有相同的签名。
static final int SIGNATURE_NOT_MATCHED
表示两个捆绑包具有不同的签名。
static final int SIGNATURE_UNKNOWN_BUNDLE
表示系统中未安装两个捆绑包之一。
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 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示要查询的应用程序包名称。 |
flags | 指示用于指定将返回的 BundleInfo 中包含的信息的标志。 |
返回:
返回 BundleInfo 对象。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
networkId | 表示局域网中的设备networkId。 |
bundleName | 指示要查询的应用程序包名称。 |
flags | 指示用于指定将返回的 BundleInfo 中包含的信息的标志。 |
返回:
返回 BundleInfo 对象。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
IBundleInstaller getBundleInstaller() throws RemoteException
获取用于安装 bundle 的接口。
要使用此方法,您需要向系统请求 ohos.permission.INSTALL_BUNDLE 权限。
返回:
返回 IBundleInstaller 接口。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示要查询的应用程序包名称。 |
flags | 指示用于指定将返回的 ApplicationInfo 对象中包含的信息的标志。 |
userId | 表示用户标识 |
返回:
返回 ApplicationInfo 对象。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
int checkPermission(String bundleName, String permission)
检查指定的包是否已被授予特定权限。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示要检查的捆绑包的名称。 |
permission | 表示检查的权限。 |
返回:
如果 bundle 有权限,则返回 0; 否则返回 -1。
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 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
intent | 指示包含要查询的应用程序包名称的 Intent。 |
flags | 指示用于指定将返回的 AbilityInfo 对象中包含的信息的标志。 |
userId | 表示用户标识 |
返回:
返回 AbilityInfo 对象的列表。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
ListBundleInfo getBundleInfos(int flags) throws RemoteException
获取系统中所有可用捆绑包的 BundleInfo。
要使用此方法,您需要向系统请求 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限属于签名|特权级别。
要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
flags | 指示用于指定将返回的 BundleInfo 中包含的信息的标志。 |
返回:
返回 BundleInfo 对象的列表。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
void unregisterPermissionsChanged(IRemoteObject callback) throws RemoteException
取消注册指定的回调以侦听权限更改。
要使用此方法,您需要向系统请求 ohos.permission.LISTEN_PERMISSION_CHANGE 权限。 ohos.permission.LISTEN_PERMISSION_CHANGE 权限属于签名|特权级别。
参数:
参数名称 | 参数描述 |
---|---|
callback | 表示要注销的回调方法。 |
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
flags | 指示用于指定将返回的 ApplicationInfo 对象中包含的信息的标志。 |
userId | 表示用户标识 |
返回:
返回 ApplicationInfo 对象的列表。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
ListString getSystemAvailableCapabilities()
获取系统中可用的能力。
返回:
返回系统中可用功能的列表。
boolean hasSystemCapability(String name)
检查系统是否具有指定的能力。
参数:
参数名称 | 参数描述 |
---|---|
name | 指示要检查的系统功能的名称。 |
返回:
如果 name 指定的给定功能在系统中可用,则返回 true; 否则返回 false。
int[] getBundleGids(String bundleName)
获取与指定捆绑包关联的所有组 ID 的数组。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示应用程序的捆绑包名称。 |
返回:
返回一个 int 数组,其中包含与指定捆绑包关联的组 ID。
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 | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
String getNameForUid(int uid) throws RemoteException
获取与给定 UID 关联的正式名称。 正式名称永远不会改变,但 UID 可以。 因此,如果要存储有关 UID 的信息,则应存储其正式名称而不是原始 UID。
参数:
参数名称 | 参数描述 |
---|---|
uid | 表示应用程序的UID。 |
返回:
如果在 config.json 文件中配置了 shared-userid,则以 shared-userid:uid 格式返回与 UID 关联的唯一名称; 否则返回包名。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
BundleInfo getBundleArchiveInfo(String hapFilePath, int flags)
获取有关 ohos ability包 (HAP) 中包含的应用程序包的信息。
要返回的 BundleInfo 对象中包含的信息取决于 flags 参数的值。
参数:
参数名称 | 参数描述 |
---|---|
hapFilePath | HAP存储路径。 路径应该是当前应用程序数据目录的相对路径。 |
flags | 指示用于指定要返回的 BundleInfo 对象中包含的信息的标志。 |
返回:
返回 BundleInfo 对象。
boolean isSafeMode()
检查当前设备是否已在安全模式下启动。
返回:
如果设备处于安全模式,则返回 true; 否则返回 false。
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 引发此异常以指示安全违规。 |
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 | 引发此异常以指示安全违规。 |
boolean isApplicationEnabled(String bundleName) throws IllegalArgumentException
检查是否启用了指定的应用程序。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示应用程序的捆绑包名称。 |
返回:
如果应用程序已启用,则返回 true; 否则返回 false。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果给定的包不存在,则抛出此异常。 |
boolean isAbilityEnabled(AbilityInfo abilityInfo) throws IllegalArgumentException
检查是否启用了指定的ability。
参数:
参数名称 | 参数描述 |
---|---|
abilityInfo | 表示有关检查ability的信息。 |
返回:
如果启用该能力,则返回 true; 否则返回 false。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果给定的ability不存在,则抛出此异常。 |
int startBackupSession(IBackupSessionCallback callback)
启动备份或恢复会话。 应该在执行备份或恢复任务之前调用此方法。
参数:
参数名称 | 参数描述 |
---|---|
callback | 指示用于通知应用程序备份或恢复任务状态的IBackupSessionCallback。 |
返回:
如果会话成功启动,则返回一个正整数,用作进一步任务处理的会话 ID; 如果发生常见故障,则返回 -1;如果您的应用程序无权调用此方法,则返回 -2。
int executeBackupTask(int sessionId, String taskCmd)
执行备份或恢复任务。
参数:
参数名称 | 参数描述 |
---|---|
sessionId | 指示备份或恢复任务的会话 ID。 |
taskCmd | 指示要执行的任务命令。 |
返回:
任务启动成功返回0; 如果发生常见故障,则返回 -1; 如果您的应用程序无权调用此方法,则返回 -2; 如果不支持任务命令,则返回 -3;如果已发出任务命令,则返回 -4。
int finishBackupSession(int sessionId)
完成备份或恢复会话。
参数:
参数名称 | 参数描述 |
---|---|
sessionId | 指示要完成的会话的 ID。 |
返回:
如果会话成功结束,则返回 0; 如果发生常见故障,则返回 -1; 如果您的应用程序无权调用此方法,则返回 -2。
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
PermissionDef getPermissionDef(String permissionName)
获取指定权限的详细信息。
参数:
参数名称 | 参数描述 |
---|---|
permissionName | 表示 ohos 权限的名称。 |
返回:
返回包含有关给定 ohos 权限的详细信息的 PermissionDef 对象。
OptionalPermissionGroupDef getPermissionGroupDef(String permissionGroupName)
获取指定权限组的信息。
参数:
参数名称 | 参数描述 |
---|---|
permissionGroupName | 权限组名称 |
返回:
返回包含有关给定权限组的详细信息的 PermissionGroupDef 对象。
OptionalListPermissionDef getPermissionDefByGroup(String permissionGroupName)
获取指定权限组中所有权限的信息。
参数:
参数名称 | 参数描述 |
---|---|
permissionGroupName | 权限组名称 |
返回:
返回 PermissionDef 对象,其中包含有关给定权限组中所有权限的详细信息。
void cleanBundleCacheFiles(String bundleName, ICleanCacheCallback callback)
清除指定应用程序的缓存数据。
要使用此方法,您的应用程序必须已获得 ohos.permission.REMOVE_CACHE_FILES 权限。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 表示要清除缓存数据的应用的bundle名称。 |
callback | 表示为返回操作结果而调用的回调。 有关详细信息,请参阅 ICleanCacheCallback。 |
Throws:
Throw名称 | Throw描述 |
---|---|
SecurityException | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果您的应用程序没有所需的权限,则引发此异常。 |
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 | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
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。
boolean isShortcutExist(String shortcutId)
检查指定的快捷方式是否可用。
参数:
参数名称 | 参数描述 |
---|---|
shortcutId | 表示要检查的快捷方式的ID。 |
返回:
如果指定的快捷方式可用,则返回 true; 否则返回 false。
boolean isHomeShortcutSupported()
检查是否可以将快捷方式添加到应用程序所在的主屏幕。
返回:
如果可以将快捷方式添加到主屏幕,则返回 true; 否则返回 false。
boolean addHomeShortcut(ShortcutInfo shortcutInfo) throws IllegalArgumentException, IllegalStateException
添加将固定在主屏幕上的主屏幕快捷方式。
参数:
参数名称 | 参数描述 |
---|---|
shortcutInfo | 指示包含有关要添加的主屏幕快捷方式信息的 ShortcutInfo 对象。 必须指定此参数的 id、label 和 intent 属性。 |
返回:
如果快捷方式添加成功,则返回 true; 否则返回 false。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果shortcutInfo 参数的id、label 或intents 属性为null,或者要添加的快捷方式已存在但被禁用,则引发此异常。 |
IllegalStateException | 如果调用应用程序在后台运行,则引发此异常。 |
boolean updateShortcuts(ListShortcutInfo shortcutInfos)
更新有关已添加的指定主屏幕快捷方式的信息。
参数:
参数名称 | 参数描述 |
---|---|
shortcutInfos | 指示要更新的快捷方式列表。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
void disableHomeShortcuts(ListString shortcutIds) throws IllegalArgumentException
禁用不再使用的指定主屏幕快捷方式。
参数:
参数名称 | 参数描述 |
---|---|
shortcutIds | 指示要禁用的快捷方式 ID 列表。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果在 shortcutIds 中指定了静态快捷方式,则引发此异常。 |
void enableHomeShortcuts(ListString shortcutIds) throws IllegalArgumentException
启用指定的主屏幕快捷方式。
参数:
参数名称 | 参数描述 |
---|---|
shortcutIds | 指示要启用的快捷方式 ID 列表。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果在 shortcutIds 中指定了静态快捷方式,则引发此异常。 |
ListShortcutInfo getHomeShortcutInfos()
获取所有主屏幕快捷方式
返回:
返回所有主屏幕快捷方式的列表。
OptionalListPermissionGroupDef getAllPermissionGroupDefs()
获取系统中所有已知的权限组。
返回:
返回包含权限组信息的 PermissionGroupDef 对象列表。
ListString getAppsGrantedPermissions(String[] permissions) throws RemoteException
获取具有指定权限的应用程序列表。
权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED
参数:
参数名称 | 参数描述 |
---|---|
permissions | 表示权限数组。 |
返回:
返回具有指定权限的应用程序列表。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
SecurityException | 引发此异常以指示安全违规。 |
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 | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
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 | 如果系统无法获取捆绑管理器服务,则抛出此异常。 |
ListFormInfo getAllFormsInfo() throws RemoteException
获取设备上所有ohos应用提供的FormInfo对象。
权限:SystemPermission.GET_BUNDLE_INFO_PRIVILEGED
返回:
如果获得,则返回 FormInfo 对象的列表; 如果设备上没有可用的 FormInfo,则返回一个空列表。
Throws:
Throw名称 | Throw描述 |
---|---|
RemoteException | 如果由于应用程序和包管理器服务之间的连接错误而无法获取 FormInfo,则抛出此异常。 |
SecurityException | 如果未授予应用程序 SystemPermission.GET_BUNDLE_INFO_PRIVILEGED 权限,则引发此异常。 |
@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 权限,则引发此异常。 |
ListFormInfo getFormsInfoByApp(String bundleName) throws RemoteException
获取设备上指定的ohos应用提供的FormInfo对象。 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 权限是签名|特权级别, ohos.permission.GET_OTHER_USERS_BUNDLE_INFO 权限是普通级别。
参数:
参数名称 | 参数描述 |
---|---|
bundleName | 指示 ohos 应用程序
分享名称:创新互联鸿蒙OS教程:鸿蒙OS IBundleManager
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等 声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联 猜你还喜欢下面的内容
|