W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本模塊提供應(yīng)用信息查詢能力,支持BundleInfo、ApplicationInfo、Ability、ExtensionAbility等信息的查詢
本模塊首批接口從API version 9 開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
權(quán)限 | 權(quán)限等級 | 描述 |
---|---|---|
ohos.permission.GET_BUNDLE_INFO | normal | 查詢指定應(yīng)用信息。 |
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查詢所有應(yīng)用信息。 |
ohos.permission.REMOVE_CACHE_FILES | system_basic | 清理應(yīng)用緩存。 |
ohos.permission.CHANGE_ABILITY_ENABLED_STATE | system_basic | 設(shè)置禁用使能所需的權(quán)限。 |
權(quán)限等級參考權(quán)限等級說明。
包信息標(biāo)志,指示需要獲取的包信息的內(nèi)容。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
GET_BUNDLE_INFO_DEFAULT | 0x00000000 | 用于獲取默認(rèn)bundleInfo,獲取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 |
GET_BUNDLE_INFO_WITH_APPLICATION | 0x00000001 | 用于獲取包含applicationInfo的bundleInfo,獲取的bundleInfo不包含signatureInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 |
GET_BUNDLE_INFO_WITH_HAP_MODULE | 0x00000002 | 用于獲取包含hapModuleInfo的bundleInfo,獲取的bundleInfo不包含signatureInfo、applicationInfo、ability、extensionAbility和permission的信息。 |
GET_BUNDLE_INFO_WITH_ABILITY | 0x00000004 | 用于獲取包含ability的bundleInfo,獲取的bundleInfo不包含signatureInfo、applicationInfo、extensionAbility和permission的信息。它不能單獨(dú)使用,需要與GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。 |
GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY | 0x00000008 | 用于獲取包含extensionAbility的bundleInfo,獲取的bundleInfo不包含signatureInfo、applicationInfo、ability 和permission的信息。它不能單獨(dú)使用,需要與GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。 |
GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION | 0x00000010 | 用于獲取包含permission的bundleInfo。獲取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、extensionAbility和ability的信息。 |
GET_BUNDLE_INFO_WITH_METADATA | 0x00000020 | 用于獲取applicationInfo、moduleInfo和abilityInfo中包含的metadata。它不能單獨(dú)使用,它需要與GET_BUNDLE_INFO_WITH_APPLICATION、GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY、GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY一起使用。 |
GET_BUNDLE_INFO_WITH_DISABLE | 0x00000040 | 用于獲取application被禁用的BundleInfo和被禁用的Ability信息。獲取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 |
GET_BUNDLE_INFO_WITH_SIGNATURE_INFO | 0x00000080 | 用于獲取包含signatureInfo的bundleInfo。獲取的bundleInfo不包含applicationInfo、hapModuleInfo、extensionAbility、ability和permission的信息。 |
指示擴(kuò)展組件的類型。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
FORM | 0 | FormExtensionAbility:卡片擴(kuò)展能力,提供卡片開發(fā)能力。 |
WORK_SCHEDULER | 1 | WorkSchedulerExtensionAbility:延時任務(wù)擴(kuò)展能力,允許應(yīng)用在系統(tǒng)閑時執(zhí)行實時性不高的任務(wù)。 |
INPUT_METHOD | 2 | InputMethodExtensionAbility:輸入法擴(kuò)展能力,用于開發(fā)輸入法應(yīng)用。 |
SERVICE | 3 | ServiceExtensionAbility:后臺服務(wù)擴(kuò)展能力,提供后臺運(yùn)行并對外提供相應(yīng)能力。 僅對系統(tǒng)應(yīng)用開放。 |
ACCESSIBILITY | 4 | AccessibilityExtensionAbility:無障礙服務(wù)擴(kuò)展能力,支持訪問與操作前臺界面。 |
DATA_SHARE | 5 | DataShareExtensionAbility:數(shù)據(jù)共享擴(kuò)展能力,用于對外提供數(shù)據(jù)讀寫服務(wù)。 僅對系統(tǒng)應(yīng)用開放。 |
FILE_SHARE | 6 | FileShareExtensionAbility:文件共享擴(kuò)展能力,用于應(yīng)用間的文件分享。 預(yù)留能力,當(dāng)前暫未支持。 |
STATIC_SUBSCRIBER | 7 | StaticSubscriberExtensionAbility:靜態(tài)廣播擴(kuò)展能力,用于處理靜態(tài)事件,比如開機(jī)事件。 僅對系統(tǒng)應(yīng)用開放。 |
WALLPAPER | 8 | WallpaperExtensionAbility:壁紙擴(kuò)展能力,用于實現(xiàn)桌面壁紙。 預(yù)留能力,當(dāng)前暫未支持。 |
BACKUP | 9 | BackupExtensionAbility:數(shù)據(jù)備份擴(kuò)展能力,提供應(yīng)用數(shù)據(jù)和公共數(shù)據(jù)備份回復(fù)能力。 預(yù)留能力,當(dāng)前暫未支持。 |
WINDOW | 10 | WindowExtensionAbility:界面組合擴(kuò)展能力,允許系統(tǒng)應(yīng)用進(jìn)行跨應(yīng)用的界面拉起和嵌入。 僅對系統(tǒng)應(yīng)用開放。 |
ENTERPRISE_ADMIN | 11 | EnterpriseAdminExtensionAbility:企業(yè)設(shè)備管理擴(kuò)展能力,提供企業(yè)管理時處理管理事件的能力,比如設(shè)備上應(yīng)用安裝事件、鎖屏密碼輸入錯誤次數(shù)過多事件等。 僅對系統(tǒng)應(yīng)用開放。 |
THUMBNAIL | 13 | ThumbnailExtensionAbility:文件縮略圖擴(kuò)展能力,用于為文件提供圖標(biāo)縮略圖的能力。預(yù)留能力,當(dāng)前暫未支持。 |
PREVIEW | 14 | PreviewExtensionAbility:文件預(yù)覽擴(kuò)展能力,提供文件預(yù)覽的能力,其他應(yīng)用可以直接在應(yīng)用中嵌入顯示。 預(yù)留能力,當(dāng)前暫未支持。 |
UNSPECIFIED | 255 | 不指定類型,配合queryExtensionAbilityInfo接口可以查詢所有類型的ExtensionAbility。 |
指示權(quán)限授予狀態(tài)。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
PERMISSION_DENIED | -1 | 拒絕授予權(quán)限。 |
PERMISSION_GRANTED | 0 | 授予權(quán)限。 |
標(biāo)識該組件所支持的窗口模式。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
FULL_SCREEN | 0 | 窗口支持全屏顯示。 |
SPLIT | 1 | 窗口支持分屏顯示。 |
FLOATING | 2 | 支持窗口化顯示。 |
指示組件的啟動方式。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
SINGLETON | 0 | ability的啟動模式,表示單實例。 |
MULTITON | 1 | ability的啟動模式,表示普通多實例。 |
SPECIFIED | 2 | ability的啟動模式,表示該ability內(nèi)部根據(jù)業(yè)務(wù)自己置頂多實例。 |
指示Ability組件的類型。
模型約束: 僅可在FA模型下使用
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
PAGE | 1 | 表示基于Page模板開發(fā)的FA,用于提供與用戶交互的能力。 |
SERVICE | 2 | 表示基于Service模板開發(fā)的PA,用于提供后臺運(yùn)行任務(wù)的能力。 |
DATA | 3 | 表示基于Data模板開發(fā)的PA,用于對外部提供統(tǒng)一的數(shù)據(jù)訪問對象。 |
標(biāo)識該Ability的顯示模式。該標(biāo)簽僅適用于page類型的Ability。
系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.BundleManager.BundleFramework.Core。
名稱 | 值 | 說明 |
---|---|---|
UNSPECIFIED | 0 | 表示未定義方向模式,由系統(tǒng)判定。 |
LANDSCAPE | 1 | 表示橫屏顯示模式。 |
PORTRAIT | 2 | 表示豎屏顯示模式。 |
FOLLOW_RECENT | 3 | 表示跟隨上一個顯示模式。 |
LANDSCAPE_INVERTED | 4 | 表示反向橫屏顯示模式。 |
PORTRAIT_INVERTED | 5 | 表示反向豎屏顯示模式。 |
AUTO_ROTATION | 6 | 表示傳感器自動旋轉(zhuǎn)模式。 |
AUTO_ROTATION_LANDSCAPE | 7 | 表示傳感器自動橫向旋轉(zhuǎn)模式。 |
AUTO_ROTATION_PORTRAIT | 8 | 表示傳感器自動豎向旋轉(zhuǎn)模式。 |
AUTO_ROTATION_RESTRICTED | 9 | 表示受開關(guān)控制的自動旋轉(zhuǎn)模式。 |
AUTO_ROTATION_LANDSCAPE_RESTRICTED | 10 | 表述受開關(guān)控制的自動橫向旋轉(zhuǎn)模式。 |
AUTO_ROTATION_PORTRAIT_RESTRICTED | 11 | 表示受開關(guān)控制的自動豎向旋轉(zhuǎn)模式。 |
LOCKED | 12 | 表示鎖定模式。 |
getBundleInfoForSelf(bundleFlags: number): Promise<BundleInfo>;
以異步方法根據(jù)給定的bundleFlags獲取當(dāng)前應(yīng)用的BundleInfo,使用Promise形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
bundleFlags | 是 | 指定返回的BundleInfo所包含的信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<BundleInfo> | Promise對象,返回當(dāng)前應(yīng)用的BundleInfo。 |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;
- try {
- bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => {
- hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data));
- }).catch(err => {
- hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message);
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message);
- }
getBundleInfoForSelf(bundleFlags: number, callback: AsyncCallback<BundleInfo>): void;
以異步方法根據(jù)給定的bundleFlags獲取當(dāng)前應(yīng)用的BundleInfo,使用callback形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
bundleFlags | 是 | 指定返回的BundleInfo所包含的信息。 | |
callback | AsyncCallback<BundleInfo> | 是 | 回調(diào)函數(shù),當(dāng)獲取成功時,err為null,data為獲取到的當(dāng)前應(yīng)用的BundleInfo;否則為錯誤對象。 |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;
- try {
- bundleManager.getBundleInfoForSelf(bundleFlags, (err, data) => {
- if (err) {
- hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message);
- } else {
- hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully: %{public}s', JSON.stringify(data));
- }
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message);
- }
getProfileByAbility(moduleName: string, abilityName: string, metadataName: string, callback: AsyncCallback<Array<string>>): void;
以異步方法根據(jù)給定的moduleName、abilityName和metadataName獲取相應(yīng)配置文件的json格式字符串,使用callback形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
moduleName | string | 是 | 表示應(yīng)用程序的moduleName。 |
abilityName | string | 是 | 表示應(yīng)用程序的abilityName。 |
metadataName | string | 是 | 表示應(yīng)用程序的metadataName。 |
callback | AsyncCallback<Array<string>> | 是 | 回調(diào)函數(shù),當(dāng)獲取成功時,err為null,data為獲取到的Array<string>;否則為錯誤對象。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見ohos.bundle錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
17700002 | The specified moduleName is not existed. |
17700003 | The specified abilityName is not existed. |
17700024 | Failed to get the profile because there is no profile in the HAP. |
17700026 | The specified bundle is disabled. |
17700029 | The specified ability is disabled. |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let moduleName = 'entry';
- let abilityName = 'MainAbility';
- let metadataName = 'com.example.myapplication.metadata';
- try {
- bundleManager.getProfileByAbility(moduleName, abilityName, metadataName, (err, data) => {
- if (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- } else {
- hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully: %{public}s', JSON.stringify(data));
- }
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- }
getProfileByAbility(moduleName: string, abilityName: string, metadataName?: string): Promise<Array<string>>;
以異步方法根據(jù)給定的moduleName、abilityName和metadataName獲取相應(yīng)配置文件的json格式字符串,使用Promise形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
moduleName | string | 是 | 表示應(yīng)用程序的moduleName。 |
abilityName | string | 是 | 表示應(yīng)用程序的abilityName。 |
metadataName | string | 否 | 表示應(yīng)用程序的metadataName。 |
返回值:
類型 | 說明 |
---|---|
Promise<Array<string>> | Promise對象,返回Array<string>。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見ohos.bundle錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
17700002 | The specified moduleName is not existed. |
17700003 | The specified abilityName is not existed. |
17700024 | Failed to get the profile because there is no profile in the HAP. |
17700026 | The specified bundle is disabled. |
17700029 | The specified ability is disabled. |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let moduleName = 'entry';
- let abilityName = 'MainAbility';
- try {
- bundleManager.getProfileByAbility(moduleName, abilityName).then((data) => {
- hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data));
- }).catch(err => {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- }
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let moduleName = 'entry';
- let abilityName = 'MainAbility';
- let metadataName = 'com.example.myapplication.metadata';
- try {
- bundleManager.getProfileByAbility(moduleName, abilityName, metadataName).then((data) => {
- hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data));
- }).catch(err => {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message);
- }
getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName: string, callback: AsyncCallback<Array<string>>): void;
以異步方法根據(jù)給定的moduleName、extensionAbilityName和metadataName獲取相應(yīng)配置文件的json格式字符串,使用callback形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
moduleName | string | 是 | 表示應(yīng)用程序的moduleName。 |
extensionAbilityName | string | 是 | 表示應(yīng)用程序的extensionAbilityName。 |
metadataName | string | 是 | 表示應(yīng)用程序的metadataName。 |
callback | AsyncCallback<Array<string>> | 是 | 回調(diào)函數(shù),當(dāng)獲取成功時,err為null,data為獲取到的Array<string>;否則為錯誤對象。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見ohos.bundle錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
17700002 | The specified moduleName is not existed. |
17700003 | The specified extensionAbilityName not existed. |
17700024 | Failed to get the profile because there is no profile in the HAP. |
17700026 | The specified bundle is disabled. |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let moduleName = 'entry';
- let extensionAbilityName = 'com.example.myapplication.extension';
- let metadataName = 'com.example.myapplication.metadata';
- try {
- bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName, (err, data) => {
- if (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', err.message);
- } else {
- hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully: %{public}s', JSON.stringify(data));
- }
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', err.message);
- }
getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName?: string): Promise<Array<string>>;
以異步方法根據(jù)給定的moduleName、extensionAbilityName和metadataName獲取相應(yīng)配置文件的json格式字符串,使用Promise形式返回結(jié)果。
系統(tǒng)能力: SystemCapability.BundleManager.BundleFramework.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
moduleName | string | 是 | 表示應(yīng)用程序的moduleName。 |
extensionAbilityName | string | 是 | 表示應(yīng)用程序的extensionAbilityName。 |
metadataName | string | 否 | 表示應(yīng)用程序的metadataName。 |
返回值:
類型 | 說明 |
---|---|
Promise<Array<string>> | Promise對象,返回Array<string>對象。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見ohos.bundle錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
17700002 | The specified moduleName is not existed. |
17700003 | The specified extensionAbilityName not existed. |
17700024 | Failed to get the profile because there is no profile in the HAP. |
17700026 | The specified bundle is disabled. |
示例:
- import bundleManager from '@ohos.bundle.bundleManager';
- import hilog from '@ohos.hilog';
- let moduleName = 'entry';
- let extensionAbilityName = 'com.example.myapplication.extension';
- let metadataName = 'com.example.myapplication.metadata';
- try {
- bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName).then((data) => {
- hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data));
- }).catch(err => {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message);
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message);
- }
- try {
- bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName).then((data) => {
- hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data));
- }).catch(err => {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message);
- });
- } catch (err) {
- hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message);
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: