diff --git a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md index ba0626224fe9197c9ce132330d5a71fc9493415d..636c52056e20eee7ddf0079d8f4865be050df6c8 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md @@ -12,7 +12,11 @@ SystemCapability.BundleManager.BundleFramework ## 权限列表 -无 +| 权限 | 权限等级 | 描述 | +|-------| --------- | ---- | +| ohos.permission.GET_BUNDLE_INFO | normal | 仅限查询本应用信息 | +| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息 | +| ohos.permission.INSTALL_BUNDLE | system_core | 可安装、卸载应用 | ## bundle.getApplicationInfo @@ -29,8 +33,8 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO | 名称 | 类型 | 必填 | 描述 | | ----------- | ------ | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 要查询的应用程序包名称。 | -| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0 | -| userId | number | 是 | 用户ID | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | **返回值:** @@ -41,41 +45,14 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO **示例:** ```js -bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0).then((data) => { - console.info("name: for begin"); - console.info("name:" + data.name); - console.info("bundleName:" + data.bundleName); - console.info("description:" + data.description); - console.info("descriptionId:" + data.descriptionId); - console.info("iconPath:" + data.iconPath); - console.info("iconId:" + data.iconId); - console.info("label:" + data.label); - console.info("labelId:" + data.labelId); - console.info("deviceId:" + data.deviceId); - console.info("signatureKey:" + data.signatureKey); - console.info("process:" + data.process); - console.info("isSystemApp:" + data.isSystemApp); - console.info("isLauncherApp:" + data.isLauncherApp); - console.info("supportedModes:" + data.supportedModes); - - console.info('getApplicationInfo permissions length [' + data.permissions.length + ']'); - for (var j = 0; j < data.permissions.length; j++) { - console.info("permissions[" + j + "]:" + data.permissions[j]); - } - console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']'); - for (var j = 0; j < data.moduleSourceDirs.length; j++) { - console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]); - } - console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']'); - for (var j = 0; j < data.moduleInfos.length; j++) { - console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName); - console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir); - } - console.info("entryDir:" + data.entryDir); - console.info("codePath:" + data.codePath); - console.info("dataDir:" + data.dataDir); - console.info("dataBaseDir:" + data.dataBaseDir); - console.info("cacheDir:" + data.cacheDir); +let bundleName = "com.example.myapplication"; +let bundleFlags = 0; +let userId = 100; +bundle.getApplicationInfo(bundleName, bundleFlags, userId) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -96,58 +73,30 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO | 名称 | 类型 | 必填 | 描述 | | ----------- | ------------------------------- | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 要查询的应用程序包名称。 | -| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0 | -| userId | number | 是 | 用户ID | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回应用程序信息。 | **示例:** ```js -bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info("name: for begin"); - console.info("name:" + data.name); - console.info("bundleName:" + data.bundleName); - console.info("description:" + data.description); - console.info("descriptionId:" + data.descriptionId); - console.info("iconPath:" + data.iconPath); - console.info("iconId:" + data.iconId); - console.info("label:" + data.label); - console.info("labelId:" + data.labelId); - console.info("deviceId:" + data.deviceId); - console.info("signatureKey:" + data.signatureKey); - console.info("process:" + data.process); - console.info("isSystemApp:" + data.isSystemApp); - console.info("isLauncherApp:" + data.isLauncherApp); - console.info("supportedModes:" + data.supportedModes); - - console.info('getApplicationInfo permissions length [' + data.permissions.length + ']'); - for (var j = 0; j < data.permissions.length; j++) { - console.info("permissions[" + j + "]:" + data.permissions[j]); - } - console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']'); - for (var j = 0; j < data.moduleSourceDirs.length; j++) { - console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]); - } - console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']'); - for (var j = 0; j < data.moduleInfos.length; j++) { - console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName); - console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir); - } - console.info("entryDir:" + data.entryDir); - console.info("codePath:" + data.codePath); - console.info("dataDir:" + data.dataDir); - console.info("dataBaseDir:" + data.dataBaseDir); - console.info("cacheDir:" + data.cacheDir); -} +let bundleName = "com.example.myapplication"; +let bundleFlags = 0; +let userId = 100; +bundle.getApplicationInfo(bundleName, bundleFlags, userId, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); + }) ``` ## bundle.getAllBundleInfo -getAllBundleInfo(bundleFlag: BundleFlag): Promise> +getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise> 以异步方法获取系统中所有可用的BundleInfo,使用Promise形式返回结果。 @@ -159,7 +108,8 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | 名称 | 类型 | 必填 | 描述 | | ---------- | ---------- | ---- | ----------------------------------------------------------- | -| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
1:返回包含abilityInfo的BundleInfo | +| bundleFlag | BundleFlag | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| userId | number | 否 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | **返回值:** @@ -170,69 +120,13 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **示例:** ```js -bundle.getAllBundleInfo(0).then((data) => { - for (var i = 0; i < data.length; i++) { - console.info("index[" + i + "].name: for begin"); - console.info("index[" + i + "].name:" + data[i].name); - console.info("index[" + i + "].label:" + data[i].label); - console.info("index[" + i + "].description:" + data[i].description); - console.info("index[" + i + "].vendor:" + data[i].vendor); - console.info("index[" + i + "].versionCode:" + data[i].versionCode); - console.info("index[" + i + "].versionName:" + data[i].versionName); - console.info("index[" + i + "].jointUserId:" + data[i].jointUserId); - console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion); - console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion); - console.info("index[" + i + "].mainEntry:" + data[i].mainEntry); - console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi); - console.info("index[" + i + "].appId:" + data[i].appId); - console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion); - console.info("index[" + i + "].targetVersion:" + data[i].targetVersion); - console.info("index[" + i + "].releaseType:" + data[i].releaseType); - console.info("index[" + i + "].uid:" + data[i].uid); - console.info("index[" + i + "].gid:" + data[i].gid); - console.info("index[" + i + "].seInfo:" + data[i].seInfo); - console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName); - console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive); - console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp); - console.info("index[" + i + "].installTime:" + data[i].installTime); - console.info("index[" + i + "].updateTime:" + data[i].updateTime); - console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name); - console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName); - console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']'); - for (var j = 0; j < data[i].reqPermissions.length; j++) { - console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]); - } - console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']'); - for (var j = 0; j < data[i].defPermissions.length; j++) { - console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]); - } - - console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']'); - for (var j = 0; j < data[i].hapModuleNames.length; j++) { - console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]); - } - console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']'); - for (var j = 0; j < data[i].moduleNames.length; j++) { - console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]); - } - console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']'); - for (var j = 0; j < data[i].modulePublicDirs.length; j++) { - console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]); - } - console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']'); - for (var j = 0; j < data[i].moduleDirs.length; j++) { - console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]); - } - console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']'); - for (var j = 0; j < data[i].moduleResPaths.length; j++) { - console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]); - } - console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']'); - for (var j = 0; j < data[i].abilityInfos.length; j++) { - console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name); - console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package); - } - } +let bundleFlag = 0; +let userId = 100; +bundle.getAllBundleInfo(bundleFlag, userId) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -252,86 +146,60 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | 名称 | 类型 | 必填 | 描述 | | ---------- | --------------------------------- | ---- | ------------------------------------------------------------ | -| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
1:返回包含abilityInfo的BundleInfo | +| bundleFlag | BundleFlag | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。| | callback | AsyncCallback> | 是 | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。 | **示例:** ```js -bundle.getAllBundleInfo(0, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info('xxx getAllBundleInfo data length [' + data.length + ']'); - for (var i = 0; i < data.length; i++) { - console.info("index[" + i + "].name: for begin"); - console.info("index[" + i + "].name:" + data[i].name); - console.info("index[" + i + "].label:" + data[i].label); - console.info("index[" + i + "].description:" + data[i].description); - console.info("index[" + i + "].vendor:" + data[i].vendor); - console.info("index[" + i + "].versionCode:" + data[i].versionCode); - console.info("index[" + i + "].versionName:" + data[i].versionName); - console.info("index[" + i + "].jointUserId:" + data[i].jointUserId); - console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion); - console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion); - console.info("index[" + i + "].mainEntry:" + data[i].mainEntry); - console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi); - console.info("index[" + i + "].appId:" + data[i].appId); - console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion); - console.info("index[" + i + "].targetVersion:" + data[i].targetVersion); - console.info("index[" + i + "].releaseType:" + data[i].releaseType); - console.info("index[" + i + "].uid:" + data[i].uid); - console.info("index[" + i + "].gid:" + data[i].gid); - console.info("index[" + i + "].seInfo:" + data[i].seInfo); - console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName); - console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive); - console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp); - console.info("index[" + i + "].installTime:" + data[i].installTime); - console.info("index[" + i + "].updateTime:" + data[i].updateTime); - console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name); - console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName); - console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']'); - for (var j = 0; j < data[i].reqPermissions.length; j++) { - console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]); - } - console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']'); - for (var j = 0; j < data[i].defPermissions.length; j++) { - console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]); - } +let bundleFlag = 0; +bundle.getAllBundleInfo(bundleFlag, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); + }) +``` - console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']'); - for (var j = 0; j < data[i].hapModuleNames.length; j++) { - console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]); - } - console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']'); - for (var j = 0; j < data[i].moduleNames.length; j++) { - console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]); - } - console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']'); - for (var j = 0; j < data[i].modulePublicDirs.length; j++) { - console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]); - } - console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']'); - for (var j = 0; j < data[i].moduleDirs.length; j++) { - console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]); - } - console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']'); - for (var j = 0; j < data[i].moduleResPaths.length; j++) { - console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]); - } - console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']'); - for (var j = 0; j < data[i].abilityInfos.length; j++) { - console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name); - console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package); - } - } -} + +## bundle.getAllBundleInfo + +getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback>): void + +以异步方法获取系统中所有可用的BundleInfo,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | --------------------------------- | ---- | ------------------------------------------------------------ | +| bundleFlag | BundleFlag | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。| +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | +| callback | AsyncCallback> | 是 | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。 | + +**示例:** + +```js +let bundleFlag = 0; +let userId = 100; +bundle.getAllBundleInfo(bundleFlag, userId, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); + }) ``` ## bundle.getBundleInfo -getBundleInfo(bundleName: string, bundleFlags: number): Promise\ +getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): Promise\ 以异步方法根据给定的包名获取BundleInfo,使用Promise形式返回结果。 @@ -344,7 +212,8 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO | 名称 | 类型 | 必填 | 描述 | | ----------- | ------ | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 包名 | -| bundleFlags | number | 是 | 0:返回默认BundleInfo
1:返回包含abilityInfo的BundleInfo | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| options | BundleOptions | 否 | 包含userid和networkid。 | **返回值:** @@ -355,66 +224,17 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO **示例:** ```js -bundle.getBundleInfo('com.example.myapplicationInstall', 1).then((data) => { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("vendor:" + data.vendor); - console.info("versionCode:" + data.versionCode); - console.info("versionName:" + data.versionName); - console.info("jointUserId:" + data.jointUserId); - console.info("minSdkVersion:" + data.minSdkVersion); - console.info("maxSdkVersion:" + data.maxSdkVersion); - console.info("mainEntry:" + data.mainEntry); - console.info("cpuAbi:" + data.cpuAbi); - console.info("appId:" + data.appId); - console.info("compatibleVersion:" + data.compatibleVersion); - console.info("targetVersion:" + data.targetVersion); - console.info("releaseType:" + data.releaseType); - console.info("uid:" + data.uid); - console.info("gid:" + data.gid); - console.info("seInfo:" + data.seInfo); - console.info("entryModuleName:" + data.entryModuleName); - console.info("isKeepAlive:" + data.isKeepAlive); - console.info("isNativeApp:" + data.isNativeApp); - console.info("installTime:" + data.installTime); - console.info("updateTime:" + data.updateTime); - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']'); - for (var j = 0; j < data.reqPermissions.length; j++) { - console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]); - } - console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']'); - for (var j = 0; j < data.defPermissions.length; j++) { - console.info("defPermissions[" + j + "]:" + data.defPermissions[j]); - } - - console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']'); - for (var j = 0; j < data.hapModuleNames.length; j++) { - console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]); - } - console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']'); - for (var j = 0; j < data.moduleNames.length; j++) { - console.info("moduleNames[" + j + "]:" + data.moduleNames[j]); - } - console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']'); - for (var j = 0; j < data.modulePublicDirs.length; j++) { - console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]); - } - console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']'); - for (var j = 0; j < data.moduleDirs.length; j++) { - console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]); - } - console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']'); - for (var j = 0; j < data.moduleResPaths.length; j++) { - console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]); - } - console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']'); - for (var j = 0; j < data.abilityInfos.length; j++) { - console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name); - console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package); - } +let bundleName = "com.example.myapplication"; +let bundleFlags = 1; +let options = { + "userId" : 100, + "networkId" : null +}; +bundle.getBundleInfo(bundleName, bundleFlags, options) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -435,78 +255,61 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO | 名称 | 类型 | 必填 | 描述 | | ----------- | -------------------------- | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 包名 | -| bundleFlags | number | 是 | 0:返回默认BundleInfo
1:返回包含abilityInfo的BundleInfo | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回包信息。 | **示例:** ```js -bundle.getBundleInfo('com.example.myapplicationInstall', 1, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("vendor:" + data.vendor); - console.info("versionCode:" + data.versionCode); - console.info("versionName:" + data.versionName); - console.info("jointUserId:" + data.jointUserId); - console.info("minSdkVersion:" + data.minSdkVersion); - console.info("maxSdkVersion:" + data.maxSdkVersion); - console.info("mainEntry:" + data.mainEntry); - console.info("cpuAbi:" + data.cpuAbi); - console.info("appId:" + data.appId); - console.info("compatibleVersion:" + data.compatibleVersion); - console.info("targetVersion:" + data.targetVersion); - console.info("releaseType:" + data.releaseType); - console.info("uid:" + data.uid); - console.info("gid:" + data.gid); - console.info("seInfo:" + data.seInfo); - console.info("entryModuleName:" + data.entryModuleName); - console.info("isKeepAlive:" + data.isKeepAlive); - console.info("isNativeApp:" + data.isNativeApp); - console.info("installTime:" + data.installTime); - console.info("updateTime:" + data.updateTime); - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']'); - for (var j = 0; j < data.reqPermissions.length; j++) { - console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]); - } - console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']'); - for (var j = 0; j < data.defPermissions.length; j++) { - console.info("defPermissions[" + j + "]:" + data.defPermissions[j]); - } - - console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']'); - for (var j = 0; j < data.hapModuleNames.length; j++) { - console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]); - } - console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']'); - for (var j = 0; j < data.moduleNames.length; j++) { - console.info("moduleNames[" + j + "]:" + data.moduleNames[j]); - } - console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']'); - for (var j = 0; j < data.modulePublicDirs.length; j++) { - console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]); - } - console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']'); - for (var j = 0; j < data.moduleDirs.length; j++) { - console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]); - } - console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']'); - for (var j = 0; j < data.moduleResPaths.length; j++) { - console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]); - } - console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']'); - for (var j = 0; j < data.abilityInfos.length; j++) { - console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name); - console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package); - } -} +let bundleName = "com.example.myapplication"; +let bundleFlags = 1; +bundle.getBundleInfo(bundleName, bundleFlags, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` +## bundle.getBundleInfo + +getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, callback: AsyncCallback\): void + +以异步方法根据给定的包名获取BundleInfo,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | -------------------------- | ---- | ------------------------------------------------------------ | +| bundleName | string | 是 | 包名 | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| options | BundleOptions | 是 | 包含userid和networkid。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回包信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let bundleFlags = 1; +let options = { + "userId" : 100, + "networkId" : null +}; +bundle.getBundleInfo(bundleName, bundleFlags, options, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` + ## bundle.getAllApplicationInfo @@ -516,14 +319,14 @@ getAllApplicationInfo(bundleFlags: number, userId: number): Promise8:返回包含权限信息的应用信息 | -| userId | number | 是 | 用户ID | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | **返回值:** @@ -534,44 +337,13 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO **示例:** ```js -bundle.getAllApplicationInfo(8, 0).then((data) => { - console.info('xxx getAllApplicationInfo data length [' + data.length + ']'); - for (var i = 0; i < data.length; i++) { - console.info("index[" + i + "].name: for begin"); - console.info("index[" + i + "].name:" + data[i].name); - console.info("index[" + i + "].bundleName:" + data[i].bundleName); - console.info("index[" + i + "].description:" + data[i].description); - console.info("index[" + i + "].descriptionId:" + data[i].descriptionId); - console.info("index[" + i + "].iconPath:" + data[i].iconPath); - console.info("index[" + i + "].iconId:" + data[i].iconId); - console.info("index[" + i + "].label:" + data[i].label); - console.info("index[" + i + "].labelId:" + data[i].labelId); - console.info("index[" + i + "].deviceId:" + data[i].deviceId); - console.info("index[" + i + "].signatureKey:" + data[i].signatureKey); - console.info("index[" + i + "].process:" + data[i].process); - console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp); - console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp); - console.info("index[" + i + "].supportedModes:" + data[i].supportedModes); - - console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']'); - for (var j = 0; j < data[i].permissions.length; j++) { - console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]); - } - console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']'); - for (var j = 0; j < data[i].moduleSourceDirs.length; j++) { - console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]); - } - console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']'); - for (var j = 0; j < data[i].moduleInfos.length; j++) { - console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName); - console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir); - } - console.info("index[" + i + "].entryDir:" + data[i].entryDir); - console.info("index[" + i + "].codePath:" + data[i].codePath); - console.info("index[" + i + "].dataDir:" + data[i].dataDir); - console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir); - console.info("index[" + i + "].cacheDir:" + data[i].cacheDir); - } +let bundleFlags = 8; +let userId = 100; +bundle.getAllApplicationInfo(bundleFlags, userId) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -585,60 +357,28 @@ getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallba **需要权限:** -ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **参数:** | 名称 | 类型 | 必填 | 描述 | | ----------- | -------------------------------------- | ---- | ------------------------------------------------------ | -| bundleFlags | number | 是 | 0:返回默认应用信息<
8:返回包含权限信息的应用信息 | -| userId | number | 是 | 用户ID | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。| +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | callback | AsyncCallback> | 是 | 程序启动作为入参的回调函数,返回应用信息列表。 | **示例:** ```js -bundle.getAllApplicationInfo(8, 0, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info('xxx getAllApplicationInfo data length [' + data.length + ']'); - for (var i = 0; i < data.length; i++) { - console.info("index[" + i + "].name: for begin"); - console.info("index[" + i + "].name:" + data[i].name); - console.info("index[" + i + "].bundleName:" + data[i].bundleName); - console.info("index[" + i + "].description:" + data[i].description); - console.info("index[" + i + "].descriptionId:" + data[i].descriptionId); - console.info("index[" + i + "].iconPath:" + data[i].iconPath); - console.info("index[" + i + "].iconId:" + data[i].iconId); - console.info("index[" + i + "].label:" + data[i].label); - console.info("index[" + i + "].labelId:" + data[i].labelId); - console.info("index[" + i + "].deviceId:" + data[i].deviceId); - console.info("index[" + i + "].signatureKey:" + data[i].signatureKey); - console.info("index[" + i + "].process:" + data[i].process); - console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp); - console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp); - console.info("index[" + i + "].supportedModes:" + data[i].supportedModes); - - console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']'); - for (var j = 0; j < data[i].permissions.length; j++) { - console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]); - } - console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']'); - for (var j = 0; j < data[i].moduleSourceDirs.length; j++) { - console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]); - } - console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']'); - for (var j = 0; j < data[i].moduleInfos.length; j++) { - console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName); - console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir); - } - console.info("index[" + i + "].entryDir:" + data[i].entryDir); - console.info("index[" + i + "].codePath:" + data[i].codePath); - console.info("index[" + i + "].dataDir:" + data[i].dataDir); - console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir); - console.info("index[" + i + "].cacheDir:" + data[i].cacheDir); - } -} +let bundleFlags = 8; +let userId = 100; +bundle.getAllApplicationInfo(bundleFlags, userId, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` @@ -658,7 +398,7 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO | 名称 | 类型 | 必填 | 描述 | | ----------- | ------ | ---- | ------------------------------------------------------------ | | want | Want | 是 | 包含要查询的应用程序包名称的意图。 | -| bundleFlags | number | 是 | 0:返回默认AbilityInfo
2:返回包含权限信息的AbilityInfo
4:返回包含应用信息的AbilityInfo | +| bundleFlags | number | 是 | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 | | userId | number | 否 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0 | **返回值:** @@ -670,80 +410,17 @@ ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO **示例:** ```js -bundle.queryAbilityByWant({ - want: { - action: "action.system.home", - entities: ["entity.system.home"], - elementName: { - deviceId: "0", - bundleName: "com.example.myapplicationInstall", - abilityName: "com.example.myapplication.MainAbility", - }, - } -}, 1, 0, -}).then((data) => { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("iconPath:" + data.iconPath); - console.info("visible:" + data.visible); - console.info("kind:" + data.kind); - console.info("uri:" + data.uri); - console.info("process:" + data.process); - console.info("package:" + data.package); - console.info("bundleName:" + data.bundleName); - console.info("moduleName:" + data.moduleName); - console.info("applicationName:" + data.applicationName); - console.info("deviceId:" + data.deviceId); - console.info("codePath:" + data.codePath); - console.info("resourcePath:" + data.resourcePath); - console.info("libPath:" + data.libPath); - - console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']'); - for (var j = 0; j < data.permissions.length; j++) { - console.info("permissions[" + j + "]:" + data.permissions[j]); - } - console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']'); - for (var j = 0; j < data.deviceTypes.length; j++) { - console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]); - } - console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']'); - for (var j = 0; j < data.deviceCapabilities.length; j++) { - console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]); - } - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA - console.info("type:" + data.type); - // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT, - console.info("orientation:" + data.orientation); - // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD - console.info("launchMode:" + data.launchMode); - - // the enum of AbilityType - console.info("AbilityType:" + bundle.AbilityType.UNKNOWN); - console.info("AbilityType:" + bundle.AbilityType.PAGE); - console.info("AbilityType:" + bundle.AbilityType.SERVICE); - console.info("AbilityType:" + bundle.AbilityType.DATA); - if (data.type == bundle.AbilityType.PAGE) { - console.info("this AbilityType is PAGE"); - } - // the enum of DisplayOrientation - console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT); - if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) { - console.info("this DisplayOrientation is UNSPECIFIED"); - } - // the enum of LaunchMode - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON); - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP); - console.info("LaunchMode:" + bundle.LaunchMode.STANDARD); - if (data.launchMode == bundle.LaunchMode.STANDARD) { - console.info("this LaunchMode is STANDARD"); - } - +let bundleFlags = 0; +let userId = 100; +let want = { + bundleName : "com.example.myapplication", + abilityName : "com.example.myapplication.MainAbility" +}; +bundle.queryAbilityByWant(want, bundleFlags, userId) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -760,90 +437,26 @@ queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: As | 名称 | 类型 | 必填 | 描述 | | ----------- | ---------------------------------- | ---- | ------------------------------------------------------------ | | want | Want | 是 | 指示包含要查询的应用程序包名称的意图。 | -| bundleFlags | number | 是 | 0:返回默认AbilityInfo
2:返回包含权限信息的AbilityInfo
4:返回包含应用信息的AbilityInfo | -| userId | number | 是 | 用户ID | +| bundleFlags | number | 是 | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 | +| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0 | | callback | AsyncCallback> | 是 | 程序启动作为入参的回调函数,返回Ability信息。 | **示例:** ```js -bundle.queryAbilityByWant( - { - want: { - action: "action.system.home", - entities: ["entity.system.home"], - elementName: { - deviceId: "0", - bundleName: "com.example.myapplicationInstall", - abilityName: "com.example.myapplication.MainAbility", - }, - } - }, 1, 0, - }, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("iconPath:" + data.iconPath); - console.info("visible:" + data.visible); - console.info("kind:" + data.kind); - console.info("uri:" + data.uri); - console.info("process:" + data.process); - console.info("package:" + data.package); - console.info("bundleName:" + data.bundleName); - console.info("moduleName:" + data.moduleName); - console.info("applicationName:" + data.applicationName); - console.info("deviceId:" + data.deviceId); - console.info("codePath:" + data.codePath); - console.info("resourcePath:" + data.resourcePath); - console.info("libPath:" + data.libPath); - - console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']'); - for (var j = 0; j < data.permissions.length; j++) { - console.info("permissions[" + j + "]:" + data.permissions[j]); - } - console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']'); - for (var j = 0; j < data.deviceTypes.length; j++) { - console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]); - } - console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']'); - for (var j = 0; j < data.deviceCapabilities.length; j++) { - console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]); - } - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA - console.info("type:" + data.type); - // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT, - console.info("orientation:" + data.orientation); - // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD - console.info("launchMode:" + data.launchMode); - - // the enum of AbilityType - console.info("AbilityType:" + bundle.AbilityType.UNKNOWN); - console.info("AbilityType:" + bundle.AbilityType.PAGE); - console.info("AbilityType:" + bundle.AbilityType.SERVICE); - console.info("AbilityType:" + bundle.AbilityType.DATA); - if (data.type == bundle.AbilityType.PAGE) { - console.info("this AbilityType is PAGE"); - } - // the enum of DisplayOrientation - console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT); - if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) { - console.info("this DisplayOrientation is UNSPECIFIED"); - } - // the enum of LaunchMode - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON); - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP); - console.info("LaunchMode:" + bundle.LaunchMode.STANDARD); - if (data.launchMode == bundle.LaunchMode.STANDARD) { - console.info("this LaunchMode is STANDARD"); - } -} +let bundleFlags = 0; +let userId = 100; +let want = { + bundleName : "com.example.myapplication", + abilityName : "com.example.myapplication.MainAbility" +}; +bundle.queryAbilityByWant(want, bundleFlags, userId, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` ## bundle.queryAbilityByWant @@ -857,89 +470,24 @@ queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback2:返回包含权限信息的AbilityInfo
4:返回包含应用信息的AbilityInfo | +| bundleFlags | number | 是 | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 | | callback | AsyncCallback> | 是 | 程序启动作为入参的回调函数,返回Ability信息。 | **示例:** ```js -bundle.queryAbilityByWant( - { - want: { - action: "action.system.home", - entities: ["entity.system.home"], - elementName: { - deviceId: "0", - bundleName: "com.example.myapplicationInstall", - abilityName: "com.example.myapplication.MainAbility", - }, - } - }, 1, - }, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("iconPath:" + data.iconPath); - console.info("visible:" + data.visible); - console.info("kind:" + data.kind); - console.info("uri:" + data.uri); - console.info("process:" + data.process); - console.info("package:" + data.package); - console.info("bundleName:" + data.bundleName); - console.info("moduleName:" + data.moduleName); - console.info("applicationName:" + data.applicationName); - console.info("deviceId:" + data.deviceId); - console.info("codePath:" + data.codePath); - console.info("resourcePath:" + data.resourcePath); - console.info("libPath:" + data.libPath); - - console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']'); - for (var j = 0; j < data.permissions.length; j++) { - console.info("permissions[" + j + "]:" + data.permissions[j]); - } - console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']'); - for (var j = 0; j < data.deviceTypes.length; j++) { - console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]); - } - console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']'); - for (var j = 0; j < data.deviceCapabilities.length; j++) { - console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]); - } - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA - console.info("type:" + data.type); - // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT, - console.info("orientation:" + data.orientation); - // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD - console.info("launchMode:" + data.launchMode); - - // the enum of AbilityType - console.info("AbilityType:" + bundle.AbilityType.UNKNOWN); - console.info("AbilityType:" + bundle.AbilityType.PAGE); - console.info("AbilityType:" + bundle.AbilityType.SERVICE); - console.info("AbilityType:" + bundle.AbilityType.DATA); - if (data.type == bundle.AbilityType.PAGE) { - console.info("this AbilityType is PAGE"); - } - // the enum of DisplayOrientation - console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT); - console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT); - if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) { - console.info("this DisplayOrientation is UNSPECIFIED"); - } - // the enum of LaunchMode - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON); - console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP); - console.info("LaunchMode:" + bundle.LaunchMode.STANDARD); - if (data.launchMode == bundle.LaunchMode.STANDARD) { - console.info("this LaunchMode is STANDARD"); - } -} +let bundleFlags = 0; +let want = { + bundleName : "com.example.myapplication", + abilityName : "com.example.myapplication.MainAbility" +}; +bundle.queryAbilityByWant(want, bundleFlags, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` ## bundle.getBundleArchiveInfo @@ -953,7 +501,7 @@ getBundleArchiveInfo(hapFilePath: string, bundleFlags: number): Promise\1:返回包含abilityInfo的BundleInfo | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | **返回值:** @@ -964,65 +512,13 @@ getBundleArchiveInfo(hapFilePath: string, bundleFlags: number): Promise\ { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("vendor:" + data.vendor); - console.info("versionCode:" + data.versionCode); - console.info("versionName:" + data.versionName); - console.info("jointUserId:" + data.jointUserId); - console.info("minSdkVersion:" + data.minSdkVersion); - console.info("maxSdkVersion:" + data.maxSdkVersion); - console.info("mainEntry:" + data.mainEntry); - console.info("cpuAbi:" + data.cpuAbi); - console.info("appId:" + data.appId); - console.info("compatibleVersion:" + data.compatibleVersion); - console.info("targetVersion:" + data.targetVersion); - console.info("releaseType:" + data.releaseType); - console.info("uid:" + data.uid); - console.info("gid:" + data.gid); - console.info("seInfo:" + data.seInfo); - console.info("entryModuleName:" + data.entryModuleName); - console.info("isKeepAlive:" + data.isKeepAlive); - console.info("isNativeApp:" + data.isNativeApp); - console.info("installTime:" + data.installTime); - console.info("updateTime:" + data.updateTime); - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']'); - for (var j = 0; j < data.reqPermissions.length; j++) { - console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]); - } - console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']'); - for (var j = 0; j < data.defPermissions.length; j++) { - console.info("defPermissions[" + j + "]:" + data.defPermissions[j]); - } - console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']'); - for (var j = 0; j < data.hapModuleNames.length; j++) { - console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]); - } - console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']'); - for (var j = 0; j < data.moduleNames.length; j++) { - console.info("moduleNames[" + j + "]:" + data.moduleNames[j]); - } - console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']'); - for (var j = 0; j < data.modulePublicDirs.length; j++) { - console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]); - } - console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']'); - for (var j = 0; j < data.moduleDirs.length; j++) { - console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]); - } - console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']'); - for (var j = 0; j < data.moduleResPaths.length; j++) { - console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]); - } - console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']'); - for (var j = 0; j < data.abilityInfos.length; j++) { - console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name); - console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package); - } +let hapFilePath = "/data/test.hap"; +let bundleFlags = 1; +bundle.getBundleArchiveInfo(hapFilePath, bundleFlags) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -1037,74 +533,21 @@ getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCa | 名称 | 类型 | 必填 | 描述 | | ----------- | ------------------------- | ---- | ------------------------------------------------------------ | | hapFilePath | string | 是 | HAP文件路径 | -| bundleFlags | number | 是 | 0:返回默认BundleInfo
1:返回包含abilityInfo的BundleInfo | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | | callback | AsyncCallback | 是 | 程序启动作为入参的回调函数,返回包信息。 | **示例:** ```js -bundle.getBundleArchiveInfo('/data/test.hap', 1, OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.info("name:" + data.name); - console.info("label:" + data.label); - console.info("description:" + data.description); - console.info("vendor:" + data.vendor); - console.info("versionCode:" + data.versionCode); - console.info("versionName:" + data.versionName); - console.info("jointUserId:" + data.jointUserId); - console.info("minSdkVersion:" + data.minSdkVersion); - console.info("maxSdkVersion:" + data.maxSdkVersion); - console.info("mainEntry:" + data.mainEntry); - console.info("cpuAbi:" + data.cpuAbi); - console.info("appId:" + data.appId); - console.info("compatibleVersion:" + data.compatibleVersion); - console.info("targetVersion:" + data.targetVersion); - console.info("releaseType:" + data.releaseType); - console.info("uid:" + data.uid); - console.info("gid:" + data.gid); - console.info("seInfo:" + data.seInfo); - console.info("entryModuleName:" + data.entryModuleName); - console.info("isKeepAlive:" + data.isKeepAlive); - console.info("isNativeApp:" + data.isNativeApp); - console.info("installTime:" + data.installTime); - console.info("updateTime:" + data.updateTime); - console.info("appInfo.name:" + data.applicationInfo.name); - console.info("appInfo.bundleName:" + data.applicationInfo.bundleName); - console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']'); - for (var j = 0; j < data.reqPermissions.length; j++) { - console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]); - } - console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']'); - for (var j = 0; j < data.defPermissions.length; j++) { - console.info("defPermissions[" + j + "]:" + data.defPermissions[j]); - } - console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']'); - for (var j = 0; j < data.hapModuleNames.length; j++) { - console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]); - } - console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']'); - for (var j = 0; j < data.moduleNames.length; j++) { - console.info("moduleNames[" + j + "]:" + data.moduleNames[j]); - } - console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']'); - for (var j = 0; j < data.modulePublicDirs.length; j++) { - console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]); - } - console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']'); - for (var j = 0; j < data.moduleDirs.length; j++) { - console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]); - } - console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']'); - for (var j = 0; j < data.moduleResPaths.length; j++) { - console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]); - } - console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']'); - for (var j = 0; j < data.abilityInfos.length; j++) { - console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name); - console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package); - } -} +let hapFilePath = "/data/test.hap"; +let bundleFlags = 1; +bundle.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` ## bundle.getBundleInstaller @@ -1113,6 +556,10 @@ getBundleInstaller(): Promise 以异步方法获取BundleInstaller,使用Promise形式返回结果。 +**需要权限:** + +ohos.permission.INSTALL_BUNDLE + **返回值:** | 类型 | 说明 | @@ -1122,20 +569,23 @@ getBundleInstaller(): Promise **示例:** ```js -bundle.getBundleInstaller().then((data) => { - data.install(['/data/test.hap'], { - param: { - userId: 0, - installFlag: 1, - isKeepData: false - } - }, OnReceiveinstallEvent); - - function OnReceiveinstallEvent(err, data) { - console.info("name: for begin"); - console.info("install result code:" + data.status); - console.info("install result msg:" + data.statusMessage); - } +let bundleFilePaths = ['/data/test.hap']; +let param = { + userId : 100, + installFlag : 1, + isKeepData : false +}; +bundle.getBundleInstaller() +.then((installerObject) => { + console.info('Operation successful. '); + installerObject.install(bundleFilePaths, param) + .then((data) => { + console.info('Operation successful. Data:' + JSON.stringify(data)); + }).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); + }) +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` @@ -1145,6 +595,10 @@ getBundleInstaller(callback: AsyncCallback): void; 以异步方法获取BundleInstaller,使用callback形式返回结果。 +**需要权限:** + +ohos.permission.INSTALL_BUNDLE + **参数:** | 名称 | 类型 | 必填 | 描述 | @@ -1154,121 +608,139 @@ getBundleInstaller(callback: AsyncCallback): void; **示例:** ```js -bundle.getBundleInstaller((err, data)=>{ - data.uninstall('com.example.myapplication', { - userId: 0, - installFlag: 1, - isKeepData: false - }, OnReceiveinstallEvent); - - function OnReceiveinstallEvent(err, data) { - console.info("name: for begin"); - console.info("uninstall result code:" + data.status); - console.info("uninstall result msg:" + data.statusMessage); - } +let bundleFilePaths = ['/data/test.hap']; +let param = { + userId : 100, + installFlag : 1, + isKeepData : false +}; +bundle.getBundleInstaller((err, installerObject) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + } + console.info('Operation successful. Data:' + JSON.stringify(installerObject)); + installerObject.install(bundleFilePaths, param, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + } + console.info('Operation successful. Data:' + JSON.stringify(data)); + }) }) ``` -## bundle.getAllShortcutInfo -getAllShortcutInfo(bundleName: string): Promise> +## bundle.getLaunchWantForBundle -以异步方法获取指定bundle的Shortcut信息,使用Promise形式返回结果。 +getLaunchWantForBundle(bundleName: string): Promise\ + +以异步方法查询拉起指定应用的want对象,使用Promise形式返回结果。 **参数:** | 名称 | 类型 | 必填 | 描述 | | ---------- | ------ | ---- | -------- | -| bundleName | string | 是 | bundle名 | +| bundleName | string | 是 | 要查询的应用程序包名称。 | **返回值:** -| 类型 | 说明 | -| ----------------------------- | ---------------------------------------------------- | -| Promise\> | 返回值为Promise对象,Promise中包含Shortcut信息列表。 | +| 类型 | 说明 | +| --------------------- | ------------------------------------------------------------ | +| Promise\ | 返回值为Promise对象,Promise中包含拉起指定应用的Want对象。 | **示例:** ```js -bundle.getAllShortcutInfo('com.example.third1').then((data) => { - console.log("getAllShortcutInfo data:" + data); -}); +let bundleName = "com.example.myapplication"; +bundle.getLaunchWantForBundle(bundleName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) ``` +## bundle.getLaunchWantForBundle +getLaunchWantForBundle(bundleName: string, callback: AsyncCallback): void; -## bundle.getAllShortcutInfo - -getAllShortcutInfo(bundleName: string, callback: AsyncCallback>): void - -以异步方法获取指定bundle的Shortcut信息,使用callback形式返回结果。 +以异步方法查询拉起指定应用的want对象,使用callback形式返回结果。 **参数:** -| 名称 | 类型 | 必填 | 描述 | -| ---------- | ------------------------------------ | ---- | -------------------------------------------------- | -| bundleName | string | 是 | bundle名 | -| callback | AsyncCallback<> | 是 | 程序启动作为入参的回调函数,返回Shortcut信息列表。 | +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ------ | ---- | -------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回拉起指定应用的want对象。 | **示例:** ```js -bundle.getAllShortcutInfo('com.example.third1', OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.log("getAllShortcutInfo data:" + data); -} +let bundleName = "com.example.myapplication"; +bundle.getLaunchWantForBundle(bundleName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` -## bundle.checkPermission -checkPermission(bundleName: string, permission: string): Promise\ +## bundle.getNameForUid + +getNameForUid(uid: number): Promise\ -以异步方法校验指定bundle是否具有指定权限,使用Promise形式返回结果。 +以异步方法通过uid获取对应的包名,使用Promise形式返回结果。 **参数:** | 名称 | 类型 | 必填 | 描述 | | ---------- | ------ | ---- | -------- | -| bundleName | string | 是 | bundle名 | -| permission | string | 是 | 权限名 | +| uid | number | 是 | 要查询的uid。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------------------------------------------ | -| Promise\ | 返回值为Promise对象,Promise中包含校验结果。
-1: 未授权
0: 已授权 | +| Promise\ | 返回值为Promise对象,Promise中包含指定uid的包名。 | **示例:** ```js -bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA').then((data) => { - console.log("checkPermission data:" + data); -}); +let uid = 20010005; +bundle.getNameForUid(uid) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) ``` -## bundle.checkPermission +## bundle.getNameForUid -checkPermission(bundleName: string, permission: string, callback: AsyncCallback\): void +getNameForUid(uid: number, callback: AsyncCallback): void; -以异步方法校验指定bundle是否具有指定权限,使用callback形式返回结果。 +以异步方法通过uid获取对应的包名,使用callback形式返回结果。 **参数:** -| 名称 | 类型 | 必填 | 描述 | -| ---------- | --------------------------- | ---- | ------------------------------------------------------------ | -| bundleName | string | 是 | bundle名 | -| permission | string | 是 | 权限名 | -| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回校验结果。
-1: 未授权
0: 已授权 | +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ------ | ---- | -------- | +| uid | number | 是 | 要查询的uid。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回指定uid的包名。 | **示例:** ```js -bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA', OnReceiveEvent); - -function OnReceiveEvent(err, data) { - console.log("checkPermission data:" + data); -} +let uid = 20010005; +bundle.getNameForUid(uid, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) ``` + ## ElementName | 名称 | 读写属性 | 类型 | 必填 | 描述 | @@ -1283,3 +755,208 @@ function OnReceiveEvent(err, data) { | ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ | | status | 只读 | InstallErrorCode | 是 | 安装结果code
SUCCESS = 0
STATUS_INSTALL_FAILURE = 1
STATUS_INSTALL_FAILURE_ABORTED = 2,
STATUS_INSTALL_FAILURE_INVALID = 3
STATUS_INSTALL_FAILURE_CONFLICT = 4
STATUS_INSTALL_FAILURE_STORAGE = 5
STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6
STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT = 0x0B
STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED = 0x0C
STATUS_ABILITY_NOT_FOUND = 0x40
STATUS_BMS_SERVICE_ERROR = 0x41 | | statusMessage | 只读 | string | 是 | 安装结果Message | + +## BundleFlag + +包的标志 + +| 名称 | 默认值 | 说明 | +| ------ | ------ | ------ | +| GET_BUNDLE_DEFAULT | 0x00000000 | 获取默认的应用信息 | +| GET_BUNDLE_WITH_ABILITIES | 0x00000001 | 获取包括Ability信息的包信息 | +| GET_ABILITY_INFO_WITH_PERMISSION | 0x00000002 | 获取包括权限的Ability信息 | +| GET_ABILITY_INFO_WITH_APPLICATION | 0x00000004 | 获取包括应用的Ability信息 | +| GET_APPLICATION_INFO_WITH_PERMISSION | 0x00000008 | 获取包括权限的应用信息 | +| GET_BUNDLE_WITH_REQUESTED_PERMISSION | 0x00000010 | 获取包括所需权限的包信息 | +| GET_ABILITY_INFO_WITH_METADATA | 0x00000020 | 获取ability的元数据信息 | +| GET_APPLICATION_INFO_WITH_METADATA | 0x00000040 | 获取应用的元数据信息 | +| GET_ABILITY_INFO_SYSTEMAPP_ONLY | 0x00000080 | 获取仅包括系统应用的ability信息 | +| GET_ABILITY_INFO_WITH_DISABLE | 0x00000100 | 获取包括被禁用的ability信息 | +| GET_APPLICATION_INFO_WITH_DISABLE | 0x00000200 | 获取包括被禁用的应用信息 | + +## BundleOptions + +包的选项 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| userId | number | 是 | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | +| networkId | string | 是 | 是 | 网络Id,默认值:null。 | + +## BundleInfo + +应用包的信息。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| name | string | 是 | 否 | 应用包的名称 | +| type | string | 是 | 否 | 应用包类型 | +| appId | string | 是 | 否 | 应用包里应用程序的id | +| uid | number | 是 | 否 | 应用包里应用程序的uid | +| installTime | number | 是 | 否 | HAP包安装时间 | +| updateTime | number | 是 | 否 | HAP包更新时间 | +| appInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 | +| abilityInfo | Array | 是 | 否 | Ability的配置信息 | +| reqPermissions | Array | 是 | 否 | 应用运行时需向系统申请的权限集合 | +| reqPermissionDetails | Array | 是 | 否 | 应用运行时需向系统申请的权限集合的详细信息 | +| vendor | string | 是 | 否 | 应用包的供应商 | +| versionCode | number | 是 | 否 | 应用包的版本号 | +| versionName | string | 是 | 否 | 应用包的版本文本描述信息 | +| compatibleVersion | number | 是 | 否 | 运行应用包所需要最低的SDK版本号 | +| targetVersion | number | 是 | 否 | 运行应用包所需要最高SDK版本号 | +| isCompressNativeLibs | boolean | 是 | 否 | 是否压缩应用包的本地库,默认为true | +| hapModuleInfo | Array | 是 | 否 | 模块的配置信息 | +| entryModuleName | string | 是 | 否 | Entry的模块名称 | +| cpuAbi | string | 是 | 否 | 应用包的cpuAbi信息 | +| isSilentInstallation | string | 是 | 否 | 是否通过静默安装 | +| minCompatibleVersionCode | number | 是 | 否 | 分布式场景下的应用包兼容的最低版本 | +| entryInstallationFree | boolean | 是 | 否 | Entry是否支持免安装 | +| reqPermissionStates | Array | 是 | 否 | 申请权限的授予状态 | + +## ApplicationInfo + +应用程序信息。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| name | string | 是 | 否 | 应用程序的名称 | +| description | string | 是 | 否 | 应用程序的描述 | +| descriptionId | number | 是 | 否 | 应用程序的描述id | +| systemApp | boolean | 是 | 否 | 判断是否为系统应用程序,默认为false | +| enabled | boolean | 是 | 否 | 判断应用程序是否可以使用,默认为true | +| label | string | 是 | 否 | 应用程序的标签 | +| labelId | string | 是 | 否 | 应用程序的标签id | +| icon | string | 是 | 否 | 应用程序的图标 | +| iconId | string | 是 | 否 | 应用程序的图标id | +| process | string | 是 | 否 | 应用程序的进程,如果不设置,默认为包的名称 | +| supportedModes | number | 是 | 否 | 应用程序支持的运行模式 | +| moduleSourceDirs | Array | 是 | 否 | 应用程序的资源存放的相对路径 | +| permissions | Array | 是 | 否 | 访问应用程序所需的权限 | +| moduleInfos | Array | 是 | 否 | 应用程序的模块信息 | +| entryDir | string | 是 | 否 | 应用程序的文件保存路径 | +| customizeData | Map> | 是 | 是 | 应用程序的自定义数据 | +| codePath | string | 是 | 否 | 应用程序的安装目录 | +| metaData | Map> | 是 | 否 | 应用程序的自定义元信息 | +| removable | boolean | 是 | 否 | 应用程序是否可以被移除 | +| accessTokenId | number | 是 | 否 | 应用程序的accessTokenId | +| uid | number | 是 | 否 | 应用程序的uid | + +## ModuleInfo + +应用程序的模块信息。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| moduleName | string | 是 | 否 | 模块名称 | +| moduleSourceDir | string | 是 | 否 | 安装目录 | + +## CustomizeData + +自定义元数据。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ----- | ------ | ---- | ---- | ---------------- | +| name | string | 是 | 是 | 自定义元数据名称 | +| value | string | 是 | 是 | 自定义元数据值 | +| extra | string | 是 | 是 | 自定义资源 | + + +## HapModuleInfo + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| name | string | 是 | 否 | 模块名称 | +| description | string | 是 | 否 | 模块描述信息 | +| descriptionId | number | 是 | 否 | 描述信息ID | +| icon | string | 是 | 否 | 模块图标 | +| label | string | 是 | 否 | 模块标签 | +| labelId | number | 是 | 否 | 模块标签ID | +| iconId | number | 是 | 否 | 模块图标ID | +| backgroundImg | string | 是 | 否 | 模块背景图片 | +| supportedModes | number | 是 | 否 | 模块支持的模式 | +| reqCapabilities | Array | 是 | 否 | 模块运行需要的能力 | +| deviceTypes | Array | 是 | 否 | 支持运行的设备类型 | +| abilityInfo | Array | 是 | 否 | Ability信息 | +| moduleName | string | 是 | 否 | 模块名 | +| mainAbilityName | string | 是 | 否 | 入口Ability名称 | +| installationFree | boolean | 是 | 否 | 是否支持免安装 | +| mainElementName | string | 是 | 否 | 入口ability信息 | + +## ReqPermissionDetail + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| name | string | 是 | 是 | 需要使用的权限名称 | +| reason | string | 是 | 是 | 描述申请权限的原因 | +| usedScene | UsedScene | 是 | 是 | 权限使用的场景和时机 | + +## UsedScene + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| abilities | Array | 是 | 是 | 使用到该权限的Ability集合 | +| when | string | 是 | 是 | 使用该权限的时机 | + + +## AbilityInfo + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| bundleName | string | 是 | 否 | 应用包名 | +| name | string | 是 | 否 | Ability名称 | +| label | string | 是 | 否 | Ability对用户显示的名称 | +| description | string | 是 | 否 | Ability的描述 | +| icon | string | 是 | 否 | Ability的图标资源文件索引 | +| descriptionId | number | 是 | 否 | Ability的描述id | +| iconId | number | 是 | 否 | Ability的图标id | +| moduleName | string | 是 | 否 | Ability所属的HAP包的名称 | +| process | string | 是 | 否 | Ability的进程,如果不设置,默认为包的名称 | +| targetAbility | string | 是 | 否 | 当前Ability重用的目标Ability | +| backgroundModes | number | 是 | 否 | 表示后台服务的类型 | +| isVisible | boolean | 是 | 否 | 判断Ability是否可以被其他应用调用 | +| formEnabled | boolean | 是 | 否 | 判断Ability是否提供卡片能力 | +| type | AbilityType | 是 | 否 | Ability类型 | +| orientation | DisplayOrientation | 是 | 否 | Ability的显示模式 | +| launchMode | LaunchMode | 是 | 否 | Ability的启动模式 | +| permissions | Array | 是 | 否 | 被其他应用Ability调用时需要申请的权限集合 | +| deviceTypes | Array | 是 | 否 | Ability支持的设备类型 | +| deviceCapabilities | Array | 是 | 否 | Ability需要的设备能力 | +| readPermission | string | 是 | 否 | 读取Ability数据所需的权限 | +| writePermission | string | 是 | 否 | 向Ability写数据所需的权限 | +| applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 | +| formEntity | number | 是 | 否 | 显示表单的位置 | +| minFormHeight | number | 是 | 否 | Ability的最小高度 | +| defaultFormHeight | number | 是 | 否 | Ability的默认高度 | +| minFormWidth | number | 是 | 否 | Ability的最小宽度 | +| defaultFormWidth | number | 是 | 否 | Ability的默认宽度 | +| uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI) | +| customizeData | Map> | 是 | 是 | Ability的自定义数据 | +| labelId | number | 是 | 否 | Ability的标签id | +| subType | AbilitySubType | 是 | 否 | Ability中枚举使用的模板的子类型 | +| metaData | Array | 是 | 否 | ability的自定义元信息 | +| enabled | boolean | 是 | 否 | ability是否可用 | + +## AbilityType + +| 名称 | 类型 | 说明 | +| ------- | ---- | --------------------------- | +| UNKNOWN | 无 | 未知Ability类型 | +| PAGE | 无 | Ability有一个UI界面 | +| SERVICE | 无 | Ability没有UI界面 | +| DATA | 无 | Ability用于提供数据访问服务 | + +## DisplayOrientation + +| 名称 | 类型 | 说明 | +| ------------- | ---- | ------------------------ | +| UNSPECIFIED | 无 | 屏幕方向--不指定 | +| LANDSCAPE | 无 | 屏幕方向--横屏 | +| PORTRAIT | 无 | 屏幕方向--竖屏 | +| FOLLOW_RECENT | 无 | 屏幕方向--紧跟上一个组件 | + +## LaunchMode + +| 名称 | 类型 | 说明 | +| ----------- | ---- | ------------------- | +| UNSPECIFIED | 0 | Ability只有一个示例 | +| STANDARD | 1 | Ability有多个示例 |