Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8d1b7bee
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8d1b7bee
编写于
2月 05, 2022
作者:
S
shuaiyutao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update bundle api doc
Signed-off-by:
N
shuaiyutao
<
shuaiyutao1@huawei.com
>
上级
6dcb02df
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1285 addition
and
1230 deletion
+1285
-1230
zh-cn/application-dev/reference/apis/js-apis-Bundle.md
zh-cn/application-dev/reference/apis/js-apis-Bundle.md
+1285
-1230
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-Bundle.md
浏览文件 @
8d1b7bee
# Bundle模块(JS端SDK接口)
# Bundle模块(JS端SDK接口)
## 导入模块
## 导入模块
```
```
import bundle from '@ohos.bundle';
import bundle from '@ohos.bundle';
```
```
## 权限列表
## 系统能力
无
SystemCapability.BundleManager.BundleFramework
## 权限列表
## bundle.getApplicationInfo
无
getApplicationInfo(bundleName: string, bundleFlags: number, userId: number): Promise
\<
ApplicationInfo>
## bundle.getApplicationInfo
根据给定的bundle名称获取ApplicationInfo,通过Promise获取返回值。
getApplicationInfo(bundleName: string, bundleFlags: number, userId: number): Promise
\<
ApplicationInfo>
**参数:**
以异步方法根据给定的包名获取ApplicationInfo,使用Promise形式返回结果。
| 名称 | 类型 | 必填 | 描述 |
| ----------- | ------ | ---- | ------------------------------------------------------- |
**需要权限:**
| bundleName | string | 是 | 应用名 |
| bundleFlags | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
| userId | number | 是 | 用户ID |
**参数:**
**返回值:**
| 名称 | 类型 | 必填 | 描述 |
| 类型 | 说明 |
| ----------- | ------ | ---- | ------------------------------------------------------------ |
| ----------- | -------- |
| bundleName | string | 是 | 要查询的应用程序包名称。 |
| Promise
\<
ApplicationInfo> | 返回值为Promise对象,Promise中包含应用信息。 |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0 |
| userId | number | 是 | 用户ID |
**示例:**
**返回值:**
```
bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0).then((data) => {
| 类型 | 说明 |
console.info("name: for begin");
| ----------- | -------- |
console.info("name:" + data.name);
| Promise
\<
ApplicationInfo> | Promise形式返回应用程序信息。 |
console.info("bundleName:" + data.bundleName);
console.info("description:" + data.description);
**示例:**
console.info("descriptionId:" + data.descriptionId);
console.info("iconPath:" + data.iconPath);
```
js
console.info("iconId:" + data.iconId);
bundle
.
getApplicationInfo
(
'
com.example.myapplicationInstall
'
,
8
,
0
).
then
((
data
)
=>
{
console.info("label:" + data.label);
console
.
info
(
"
name: for begin
"
);
console.info("labelId:" + data.labelId);
console
.
info
(
"
name:
"
+
data
.
name
);
console.info("deviceId:" + data.deviceId);
console
.
info
(
"
bundleName:
"
+
data
.
bundleName
);
console.info("signatureKey:" + data.signatureKey);
console
.
info
(
"
description:
"
+
data
.
description
);
console.info("process:" + data.process);
console
.
info
(
"
descriptionId:
"
+
data
.
descriptionId
);
console.info("isSystemApp:" + data.isSystemApp);
console
.
info
(
"
iconPath:
"
+
data
.
iconPath
);
console.info("isLauncherApp:" + data.isLauncherApp);
console
.
info
(
"
iconId:
"
+
data
.
iconId
);
console.info("supportedModes:" + data.supportedModes);
console
.
info
(
"
label:
"
+
data
.
label
);
console
.
info
(
"
labelId:
"
+
data
.
labelId
);
console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
console
.
info
(
"
deviceId:
"
+
data
.
deviceId
);
for (var j = 0; j < data.permissions.length; j++) {
console
.
info
(
"
signatureKey:
"
+
data
.
signatureKey
);
console.info("permissions[" + j + "]:" + data.permissions[j]);
console
.
info
(
"
process:
"
+
data
.
process
);
}
console
.
info
(
"
isSystemApp:
"
+
data
.
isSystemApp
);
console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
console
.
info
(
"
isLauncherApp:
"
+
data
.
isLauncherApp
);
for (var j = 0; j < data.moduleSourceDirs.length; j++) {
console
.
info
(
"
supportedModes:
"
+
data
.
supportedModes
);
console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
}
console
.
info
(
'
getApplicationInfo permissions length [
'
+
data
.
permissions
.
length
+
'
]
'
);
console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
for
(
var
j
=
0
;
j
<
data
.
permissions
.
length
;
j
++
)
{
for (var j = 0; j < data.moduleInfos.length; j++) {
console
.
info
(
"
permissions[
"
+
j
+
"
]:
"
+
data
.
permissions
[
j
]);
console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
}
console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
console
.
info
(
'
getApplicationInfo moduleSourceDirs length [
'
+
data
.
moduleSourceDirs
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
moduleSourceDirs
.
length
;
j
++
)
{
console.info("entryDir:" + data.entryDir);
console
.
info
(
"
moduleSourceDirs[
"
+
j
+
"
]:
"
+
data
.
moduleSourceDirs
[
j
]);
console.info("codePath:" + data.codePath);
}
console.info("dataDir:" + data.dataDir);
console
.
info
(
'
getApplicationInfo moduleInfos length [
'
+
data
.
moduleInfos
.
length
+
'
]
'
);
console.info("dataBaseDir:" + data.dataBaseDir);
for
(
var
j
=
0
;
j
<
data
.
moduleInfos
.
length
;
j
++
)
{
console.info("cacheDir:" + data.cacheDir);
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
);
## bundle.getApplicationInfo
console
.
info
(
"
dataBaseDir:
"
+
data
.
dataBaseDir
);
console
.
info
(
"
cacheDir:
"
+
data
.
cacheDir
);
getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback
\<
ApplicationInfo>): void
})
```
根据给定的bundle名称获取ApplicationInfo,通过回调函数获取返回值。
**参数:**
## bundle.getApplicationInfo
| 名称 | 类型 | 必填 | 描述 |
| ----------- | ------------------------------- | ---- | ------------------------------------------------------- |
getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback
\<
ApplicationInfo>): void
| bundleName | string | 是 | 应用名 |
| bundleFlags | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
以异步方法根据给定的包名获取ApplicationInfo,使用callback形式返回结果。
| userId | number | 是 | 用户ID |
| callback | AsyncCallback
\<
ApplicationInfo> | 是 | 回调方法 |
**需要权限:**
**示例:**
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
```
**参数:**
bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0, OnReceiveEvent);
| 名称 | 类型 | 必填 | 描述 |
function OnReceiveEvent(err, data) {
| ----------- | ------------------------------- | ---- | ------------------------------------------------------------ |
console.info("name: for begin");
| bundleName | string | 是 | 要查询的应用程序包名称。 |
console.info("name:" + data.name);
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0 |
console.info("bundleName:" + data.bundleName);
| userId | number | 是 | 用户ID |
console.info("description:" + data.description);
| callback | AsyncCallback
\<
ApplicationInfo> | 是 | 程序启动作为入参的回调函数,返回应用程序信息。 |
console.info("descriptionId:" + data.descriptionId);
console.info("iconPath:" + data.iconPath);
**示例:**
console.info("iconId:" + data.iconId);
console.info("label:" + data.label);
```
js
console.info("labelId:" + data.labelId);
bundle
.
getApplicationInfo
(
'
com.example.myapplicationInstall
'
,
8
,
0
,
OnReceiveEvent
);
console.info("deviceId:" + data.deviceId);
console.info("signatureKey:" + data.signatureKey);
function
OnReceiveEvent
(
err
,
data
)
{
console.info("process:" + data.process);
console
.
info
(
"
name: for begin
"
);
console.info("isSystemApp:" + data.isSystemApp);
console
.
info
(
"
name:
"
+
data
.
name
);
console.info("isLauncherApp:" + data.isLauncherApp);
console
.
info
(
"
bundleName:
"
+
data
.
bundleName
);
console.info("supportedModes:" + data.supportedModes);
console
.
info
(
"
description:
"
+
data
.
description
);
console
.
info
(
"
descriptionId:
"
+
data
.
descriptionId
);
console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
console
.
info
(
"
iconPath:
"
+
data
.
iconPath
);
for (var j = 0; j < data.permissions.length; j++) {
console
.
info
(
"
iconId:
"
+
data
.
iconId
);
console.info("permissions[" + j + "]:" + data.permissions[j]);
console
.
info
(
"
label:
"
+
data
.
label
);
}
console
.
info
(
"
labelId:
"
+
data
.
labelId
);
console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
console
.
info
(
"
deviceId:
"
+
data
.
deviceId
);
for (var j = 0; j < data.moduleSourceDirs.length; j++) {
console
.
info
(
"
signatureKey:
"
+
data
.
signatureKey
);
console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
console
.
info
(
"
process:
"
+
data
.
process
);
}
console
.
info
(
"
isSystemApp:
"
+
data
.
isSystemApp
);
console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
console
.
info
(
"
isLauncherApp:
"
+
data
.
isLauncherApp
);
for (var j = 0; j < data.moduleInfos.length; j++) {
console
.
info
(
"
supportedModes:
"
+
data
.
supportedModes
);
console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
console
.
info
(
'
getApplicationInfo permissions length [
'
+
data
.
permissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
permissions
.
length
;
j
++
)
{
console.info("entryDir:" + data.entryDir);
console
.
info
(
"
permissions[
"
+
j
+
"
]:
"
+
data
.
permissions
[
j
]);
console.info("codePath:" + data.codePath);
}
console.info("dataDir:" + data.dataDir);
console
.
info
(
'
getApplicationInfo moduleSourceDirs length [
'
+
data
.
moduleSourceDirs
.
length
+
'
]
'
);
console.info("dataBaseDir:" + data.dataBaseDir);
for
(
var
j
=
0
;
j
<
data
.
moduleSourceDirs
.
length
;
j
++
)
{
console.info("cacheDir:" + data.cacheDir);
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
);
## bundle.getAllBundleInfo
}
console
.
info
(
"
entryDir:
"
+
data
.
entryDir
);
getAllBundleInfo(bundleFlag: BundleFlag): Promise
<Array
\<
BundleInfo
>
>
console
.
info
(
"
codePath:
"
+
data
.
codePath
);
console
.
info
(
"
dataDir:
"
+
data
.
dataDir
);
获取系统中所有可用的包信息,通过Promise获取返回值。
console
.
info
(
"
dataBaseDir:
"
+
data
.
dataBaseDir
);
console
.
info
(
"
cacheDir:
"
+
data
.
cacheDir
);
**参数:**
}
```
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------- | ---- | ----------------------------------------------------------- |
| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
<br>
1:返回包含abilityInfo的BundleInfo |
## bundle.getAllBundleInfo
**返回值:**
getAllBundleInfo(bundleFlag: BundleFlag): Promise
<Array
\<
BundleInfo
>
>
| 类型 | 说明 |
| --------------------------- | ---------------------------------------------- |
以异步方法获取系统中所有可用的BundleInfo,使用Promise形式返回结果。
| Promise
<Array
\<
BundleInfo
>
> | 返回值为Promise对象,Promise中包含包信息列表。 |
**需要权限:**
**示例:**
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
```
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);
| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
<br>
1:返回包含abilityInfo的BundleInfo |
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);
| Promise
<Array
\<
BundleInfo
>
> | Promise形式返回所有可用的BundleInfo |
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);
```
js
console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
bundle
.
getAllBundleInfo
(
0
).
then
((
data
)
=>
{
console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
console.info("index[" + i + "].releaseType:" + data[i].releaseType);
console
.
info
(
"
index[
"
+
i
+
"
].name: for begin
"
);
console.info("index[" + i + "].uid:" + data[i].uid);
console
.
info
(
"
index[
"
+
i
+
"
].name:
"
+
data
[
i
].
name
);
console.info("index[" + i + "].gid:" + data[i].gid);
console
.
info
(
"
index[
"
+
i
+
"
].label:
"
+
data
[
i
].
label
);
console.info("index[" + i + "].seInfo:" + data[i].seInfo);
console
.
info
(
"
index[
"
+
i
+
"
].description:
"
+
data
[
i
].
description
);
console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
console
.
info
(
"
index[
"
+
i
+
"
].vendor:
"
+
data
[
i
].
vendor
);
console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
console
.
info
(
"
index[
"
+
i
+
"
].versionCode:
"
+
data
[
i
].
versionCode
);
console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
console
.
info
(
"
index[
"
+
i
+
"
].versionName:
"
+
data
[
i
].
versionName
);
console.info("index[" + i + "].installTime:" + data[i].installTime);
console
.
info
(
"
index[
"
+
i
+
"
].jointUserId:
"
+
data
[
i
].
jointUserId
);
console.info("index[" + i + "].updateTime:" + data[i].updateTime);
console
.
info
(
"
index[
"
+
i
+
"
].minSdkVersion:
"
+
data
[
i
].
minSdkVersion
);
console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
console
.
info
(
"
index[
"
+
i
+
"
].maxSdkVersion:
"
+
data
[
i
].
maxSdkVersion
);
console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
console
.
info
(
"
index[
"
+
i
+
"
].mainEntry:
"
+
data
[
i
].
mainEntry
);
console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].cpuAbi:
"
+
data
[
i
].
cpuAbi
);
for (var j = 0; j < data[i].reqPermissions.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].appId:
"
+
data
[
i
].
appId
);
console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
console
.
info
(
"
index[
"
+
i
+
"
].compatibleVersion:
"
+
data
[
i
].
compatibleVersion
);
}
console
.
info
(
"
index[
"
+
i
+
"
].targetVersion:
"
+
data
[
i
].
targetVersion
);
console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].releaseType:
"
+
data
[
i
].
releaseType
);
for (var j = 0; j < data[i].defPermissions.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].uid:
"
+
data
[
i
].
uid
);
console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
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('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].isKeepAlive:
"
+
data
[
i
].
isKeepAlive
);
for (var j = 0; j < data[i].hapModuleNames.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].isNativeApp:
"
+
data
[
i
].
isNativeApp
);
console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
console
.
info
(
"
index[
"
+
i
+
"
].installTime:
"
+
data
[
i
].
installTime
);
}
console
.
info
(
"
index[
"
+
i
+
"
].updateTime:
"
+
data
[
i
].
updateTime
);
console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].appInfo.name:
"
+
data
[
i
].
applicationInfo
.
name
);
for (var j = 0; j < data[i].moduleNames.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].appInfo.bundleName:
"
+
data
[
i
].
applicationInfo
.
bundleName
);
console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
console
.
info
(
'
getAllBundleInfo reqPermissions length [
'
+
data
[
i
].
reqPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
[
i
].
reqPermissions
.
length
;
j
++
)
{
console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
]reqPermissions[
"
+
j
+
"
]:
"
+
data
[
i
].
reqPermissions
[
j
]);
for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
}
console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
console
.
info
(
'
getAllBundleInfo defPermissions length [
'
+
data
[
i
].
defPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
[
i
].
defPermissions
.
length
;
j
++
)
{
console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
]defPermissions[
"
+
j
+
"
]:
"
+
data
[
i
].
defPermissions
[
j
]);
for (var j = 0; j < data[i].moduleDirs.length; j++) {
}
console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
}
console
.
info
(
'
getAllBundleInfo hapModuleNames length [
'
+
data
[
i
].
hapModuleNames
.
length
+
'
]
'
);
console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
for
(
var
j
=
0
;
j
<
data
[
i
].
hapModuleNames
.
length
;
j
++
)
{
for (var j = 0; j < data[i].moduleResPaths.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
]hapModuleNames[
"
+
j
+
"
]:
"
+
data
[
i
].
hapModuleNames
[
j
]);
console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
}
}
console
.
info
(
'
getAllBundleInfo moduleNames length [
'
+
data
[
i
].
moduleNames
.
length
+
'
]
'
);
console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
for
(
var
j
=
0
;
j
<
data
[
i
].
moduleNames
.
length
;
j
++
)
{
for (var j = 0; j < data[i].abilityInfos.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
]moduleNames[
"
+
j
+
"
]:
"
+
data
[
i
].
moduleNames
[
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);
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
]);
}
## bundle.getAllBundleInfo
console
.
info
(
'
getAllBundleInfo moduleResPaths length [
'
+
data
[
i
].
moduleResPaths
.
length
+
'
]
'
);
for
(
var
j
=
0
;
j
<
data
[
i
].
moduleResPaths
.
length
;
j
++
)
{
getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback
<Array
\<
BundleInfo
>
>): void
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
);
| 名称 | 类型 | 必填 | 描述 |
}
| ---------- | --------------------------------- | ---- | ------------------------------------------------------------ |
}
| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
})
| callback | AsyncCallback
<Array
\<
BundleInfo
>
> | 是 | 回调方法 |
```
**示例:**
```
## bundle.getAllBundleInfo
bundle.getAllBundleInfo(0, OnReceiveEvent);
getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback
<Array
\<
BundleInfo
>
>): void
function OnReceiveEvent(err, data) {
console.info('xxx getAllBundleInfo data length [' + data.length + ']');
以异步方法获取系统中所有可用的BundleInfo,使用callback形式返回结果。
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);
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
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);
| bundleFlag | BundleFlag | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
| callback | AsyncCallback
<Array
\<
BundleInfo
>
> | 是 | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。 |
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);
```
js
console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
bundle
.
getAllBundleInfo
(
0
,
OnReceiveEvent
);
console.info("index[" + i + "].releaseType:" + data[i].releaseType);
console.info("index[" + i + "].uid:" + data[i].uid);
function
OnReceiveEvent
(
err
,
data
)
{
console.info("index[" + i + "].gid:" + data[i].gid);
console
.
info
(
'
xxx getAllBundleInfo data length [
'
+
data
.
length
+
'
]
'
);
console.info("index[" + i + "].seInfo:" + data[i].seInfo);
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
console
.
info
(
"
index[
"
+
i
+
"
].name: for begin
"
);
console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
console
.
info
(
"
index[
"
+
i
+
"
].name:
"
+
data
[
i
].
name
);
console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
console
.
info
(
"
index[
"
+
i
+
"
].label:
"
+
data
[
i
].
label
);
console.info("index[" + i + "].installTime:" + data[i].installTime);
console
.
info
(
"
index[
"
+
i
+
"
].description:
"
+
data
[
i
].
description
);
console.info("index[" + i + "].updateTime:" + data[i].updateTime);
console
.
info
(
"
index[
"
+
i
+
"
].vendor:
"
+
data
[
i
].
vendor
);
console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
console
.
info
(
"
index[
"
+
i
+
"
].versionCode:
"
+
data
[
i
].
versionCode
);
console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
console
.
info
(
"
index[
"
+
i
+
"
].versionName:
"
+
data
[
i
].
versionName
);
console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].jointUserId:
"
+
data
[
i
].
jointUserId
);
for (var j = 0; j < data[i].reqPermissions.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].minSdkVersion:
"
+
data
[
i
].
minSdkVersion
);
console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
console
.
info
(
"
index[
"
+
i
+
"
].maxSdkVersion:
"
+
data
[
i
].
maxSdkVersion
);
}
console
.
info
(
"
index[
"
+
i
+
"
].mainEntry:
"
+
data
[
i
].
mainEntry
);
console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].cpuAbi:
"
+
data
[
i
].
cpuAbi
);
for (var j = 0; j < data[i].defPermissions.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].appId:
"
+
data
[
i
].
appId
);
console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
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('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].uid:
"
+
data
[
i
].
uid
);
for (var j = 0; j < data[i].hapModuleNames.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].gid:
"
+
data
[
i
].
gid
);
console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
console
.
info
(
"
index[
"
+
i
+
"
].seInfo:
"
+
data
[
i
].
seInfo
);
}
console
.
info
(
"
index[
"
+
i
+
"
].entryModuleName:
"
+
data
[
i
].
entryModuleName
);
console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].isKeepAlive:
"
+
data
[
i
].
isKeepAlive
);
for (var j = 0; j < data[i].moduleNames.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].isNativeApp:
"
+
data
[
i
].
isNativeApp
);
console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
console
.
info
(
"
index[
"
+
i
+
"
].installTime:
"
+
data
[
i
].
installTime
);
}
console
.
info
(
"
index[
"
+
i
+
"
].updateTime:
"
+
data
[
i
].
updateTime
);
console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].appInfo.name:
"
+
data
[
i
].
applicationInfo
.
name
);
for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
].appInfo.bundleName:
"
+
data
[
i
].
applicationInfo
.
bundleName
);
console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
console
.
info
(
'
getAllBundleInfo reqPermissions length [
'
+
data
[
i
].
reqPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
[
i
].
reqPermissions
.
length
;
j
++
)
{
console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
]reqPermissions[
"
+
j
+
"
]:
"
+
data
[
i
].
reqPermissions
[
j
]);
for (var j = 0; j < data[i].moduleDirs.length; j++) {
}
console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
console
.
info
(
'
getAllBundleInfo defPermissions length [
'
+
data
[
i
].
defPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
[
i
].
defPermissions
.
length
;
j
++
)
{
console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
]defPermissions[
"
+
j
+
"
]:
"
+
data
[
i
].
defPermissions
[
j
]);
for (var j = 0; j < data[i].moduleResPaths.length; j++) {
}
console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
}
console
.
info
(
'
getAllBundleInfo hapModuleNames length [
'
+
data
[
i
].
hapModuleNames
.
length
+
'
]
'
);
console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
for
(
var
j
=
0
;
j
<
data
[
i
].
hapModuleNames
.
length
;
j
++
)
{
for (var j = 0; j < data[i].abilityInfos.length; j++) {
console
.
info
(
"
index[
"
+
i
+
"
]hapModuleNames[
"
+
j
+
"
]:
"
+
data
[
i
].
hapModuleNames
[
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);
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
]);
}
## bundle.getBundleInfo
console
.
info
(
'
getAllBundleInfo moduleDirs length [
'
+
data
[
i
].
moduleDirs
.
length
+
'
]
'
);
for
(
var
j
=
0
;
j
<
data
[
i
].
moduleDirs
.
length
;
j
++
)
{
getBundleInfo(bundleName: string, bundleFlags: number): Promise
\<
BundleInfo>
console
.
info
(
"
index[
"
+
i
+
"
]moduleDirs[
"
+
j
+
"
]:
"
+
data
[
i
].
moduleDirs
[
j
]);
}
根据bundle名称获取BundleInfo,通过Promise获取返回值。
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
++
)
{
| bundleName | string | 是 | 包名 |
console
.
info
(
"
index[
"
+
i
+
"
]abilityInfos[
"
+
j
+
"
]name:
"
+
data
[
i
].
abilityInfos
[
j
].
name
);
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console
.
info
(
"
index[
"
+
i
+
"
]abilityInfos[
"
+
j
+
"
]package:
"
+
data
[
i
].
abilityInfos
[
j
].
package
);
}
**返回值:**
}
}
| 类型 | 说明 |
```
| -------------------- | ------------------------------------------ |
| Promise
\<
BundleInfo> | 返回值为Promise对象,Promise中包含包信息。 |
**示例:**
## bundle.getBundleInfo
```
getBundleInfo(bundleName: string, bundleFlags: number): Promise
\<
BundleInfo>
bundle.getBundleInfo('com.example.myapplicationInstall', 1).then((data) => {
console.info("name:" + data.name);
以异步方法根据给定的包名获取BundleInfo,使用Promise形式返回结果。
console.info("label:" + data.label);
console.info("description:" + data.description);
**需要权限:**
console.info("vendor:" + data.vendor);
console.info("versionCode:" + data.versionCode);
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
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);
| bundleName | string | 是 | 包名 |
console.info("appId:" + data.appId);
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
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);
| Promise
\<
BundleInfo> | 返回值为Promise对象,Promise中包含包信息。 |
console.info("entryModuleName:" + data.entryModuleName);
console.info("isKeepAlive:" + data.isKeepAlive);
**示例:**
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
```
js
console.info("updateTime:" + data.updateTime);
bundle
.
getBundleInfo
(
'
com.example.myapplicationInstall
'
,
1
).
then
((
data
)
=>
{
console.info("appInfo.name:" + data.applicationInfo.name);
console
.
info
(
"
name:
"
+
data
.
name
);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console
.
info
(
"
label:
"
+
data
.
label
);
console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
console
.
info
(
"
description:
"
+
data
.
description
);
for (var j = 0; j < data.reqPermissions.length; j++) {
console
.
info
(
"
vendor:
"
+
data
.
vendor
);
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
console
.
info
(
"
versionCode:
"
+
data
.
versionCode
);
}
console
.
info
(
"
versionName:
"
+
data
.
versionName
);
console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
console
.
info
(
"
jointUserId:
"
+
data
.
jointUserId
);
for (var j = 0; j < data.defPermissions.length; j++) {
console
.
info
(
"
minSdkVersion:
"
+
data
.
minSdkVersion
);
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
console
.
info
(
"
maxSdkVersion:
"
+
data
.
maxSdkVersion
);
}
console
.
info
(
"
mainEntry:
"
+
data
.
mainEntry
);
console
.
info
(
"
cpuAbi:
"
+
data
.
cpuAbi
);
console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
console
.
info
(
"
appId:
"
+
data
.
appId
);
for (var j = 0; j < data.hapModuleNames.length; j++) {
console
.
info
(
"
compatibleVersion:
"
+
data
.
compatibleVersion
);
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
console
.
info
(
"
targetVersion:
"
+
data
.
targetVersion
);
}
console
.
info
(
"
releaseType:
"
+
data
.
releaseType
);
console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
console
.
info
(
"
uid:
"
+
data
.
uid
);
for (var j = 0; j < data.moduleNames.length; j++) {
console
.
info
(
"
gid:
"
+
data
.
gid
);
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
console
.
info
(
"
seInfo:
"
+
data
.
seInfo
);
}
console
.
info
(
"
entryModuleName:
"
+
data
.
entryModuleName
);
console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
console
.
info
(
"
isKeepAlive:
"
+
data
.
isKeepAlive
);
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console
.
info
(
"
isNativeApp:
"
+
data
.
isNativeApp
);
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
console
.
info
(
"
installTime:
"
+
data
.
installTime
);
}
console
.
info
(
"
updateTime:
"
+
data
.
updateTime
);
console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
for (var j = 0; j < data.moduleDirs.length; j++) {
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
console
.
info
(
'
getBundleInfo reqPermissions length [
'
+
data
.
reqPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
reqPermissions
.
length
;
j
++
)
{
console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
console
.
info
(
"
reqPermissions[
"
+
j
+
"
]:
"
+
data
.
reqPermissions
[
j
]);
for (var j = 0; j < data.moduleResPaths.length; j++) {
}
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
console
.
info
(
'
getBundleInfo defPermissions length [
'
+
data
.
defPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
defPermissions
.
length
;
j
++
)
{
console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
console
.
info
(
"
defPermissions[
"
+
j
+
"
]:
"
+
data
.
defPermissions
[
j
]);
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);
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
]);
## bundle.getBundleInfo
}
console
.
info
(
'
getBundleInfo modulePublicDirs length [
'
+
data
.
modulePublicDirs
.
length
+
'
]
'
);
getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback
\<
BundleInfo>): void
for
(
var
j
=
0
;
j
<
data
.
modulePublicDirs
.
length
;
j
++
)
{
console
.
info
(
"
modulePublicDirs[
"
+
j
+
"
]:
"
+
data
.
modulePublicDirs
[
j
]);
根据bundle名称获取BundleInfo,通过回调函数获取返回值。
}
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
+
'
]
'
);
| bundleName | string | 是 | 包名 |
for
(
var
j
=
0
;
j
<
data
.
moduleResPaths
.
length
;
j
++
)
{
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console
.
info
(
"
moduleResPaths[
"
+
j
+
"
]:
"
+
data
.
moduleResPaths
[
j
]);
| callback | AsyncCallback
\<
BundleInfo> | 是 | 回调方法 |
}
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
);
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);
## bundle.getBundleInfo
console.info("versionCode:" + data.versionCode);
console.info("versionName:" + data.versionName);
getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback
\<
BundleInfo>): void
console.info("jointUserId:" + data.jointUserId);
console.info("minSdkVersion:" + data.minSdkVersion);
以异步方法根据给定的包名获取BundleInfo,使用callback形式返回结果。
console.info("maxSdkVersion:" + data.maxSdkVersion);
console.info("mainEntry:" + data.mainEntry);
**需要权限:**
console.info("cpuAbi:" + data.cpuAbi);
console.info("appId:" + data.appId);
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
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);
| bundleName | string | 是 | 包名 |
console.info("entryModuleName:" + data.entryModuleName);
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console.info("isKeepAlive:" + data.isKeepAlive);
| callback | AsyncCallback
\<
BundleInfo> | 是 | 程序启动作为入参的回调函数,返回包信息。 |
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
**示例:**
console.info("updateTime:" + data.updateTime);
console.info("appInfo.name:" + data.applicationInfo.name);
```
js
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
bundle
.
getBundleInfo
(
'
com.example.myapplicationInstall
'
,
1
,
OnReceiveEvent
);
console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
for (var j = 0; j < data.reqPermissions.length; j++) {
function
OnReceiveEvent
(
err
,
data
)
{
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
console
.
info
(
"
name:
"
+
data
.
name
);
}
console
.
info
(
"
label:
"
+
data
.
label
);
console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
console
.
info
(
"
description:
"
+
data
.
description
);
for (var j = 0; j < data.defPermissions.length; j++) {
console
.
info
(
"
vendor:
"
+
data
.
vendor
);
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
console
.
info
(
"
versionCode:
"
+
data
.
versionCode
);
}
console
.
info
(
"
versionName:
"
+
data
.
versionName
);
console
.
info
(
"
jointUserId:
"
+
data
.
jointUserId
);
console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
console
.
info
(
"
minSdkVersion:
"
+
data
.
minSdkVersion
);
for (var j = 0; j < data.hapModuleNames.length; j++) {
console
.
info
(
"
maxSdkVersion:
"
+
data
.
maxSdkVersion
);
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
console
.
info
(
"
mainEntry:
"
+
data
.
mainEntry
);
}
console
.
info
(
"
cpuAbi:
"
+
data
.
cpuAbi
);
console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
console
.
info
(
"
appId:
"
+
data
.
appId
);
for (var j = 0; j < data.moduleNames.length; j++) {
console
.
info
(
"
compatibleVersion:
"
+
data
.
compatibleVersion
);
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
console
.
info
(
"
targetVersion:
"
+
data
.
targetVersion
);
}
console
.
info
(
"
releaseType:
"
+
data
.
releaseType
);
console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
console
.
info
(
"
uid:
"
+
data
.
uid
);
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console
.
info
(
"
gid:
"
+
data
.
gid
);
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
console
.
info
(
"
seInfo:
"
+
data
.
seInfo
);
}
console
.
info
(
"
entryModuleName:
"
+
data
.
entryModuleName
);
console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
console
.
info
(
"
isKeepAlive:
"
+
data
.
isKeepAlive
);
for (var j = 0; j < data.moduleDirs.length; j++) {
console
.
info
(
"
isNativeApp:
"
+
data
.
isNativeApp
);
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
console
.
info
(
"
installTime:
"
+
data
.
installTime
);
}
console
.
info
(
"
updateTime:
"
+
data
.
updateTime
);
console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
for (var j = 0; j < data.moduleResPaths.length; j++) {
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
console
.
info
(
'
getBundleInfo reqPermissions length [
'
+
data
.
reqPermissions
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
reqPermissions
.
length
;
j
++
)
{
console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
console
.
info
(
"
reqPermissions[
"
+
j
+
"
]:
"
+
data
.
reqPermissions
[
j
]);
for (var j = 0; j < data.abilityInfos.length; j++) {
}
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
console
.
info
(
'
getBundleInfo defPermissions length [
'
+
data
.
defPermissions
.
length
+
'
]
'
);
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
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
]);
## bundle.getAllApplicationInfo
}
console
.
info
(
'
getBundleInfo moduleNames length [
'
+
data
.
moduleNames
.
length
+
'
]
'
);
getAllApplicationInfo(bundleFlags: number, userId: number): Promise
<Array
\<
ApplicationInfo
>
>
for
(
var
j
=
0
;
j
<
data
.
moduleNames
.
length
;
j
++
)
{
console
.
info
(
"
moduleNames[
"
+
j
+
"
]:
"
+
data
.
moduleNames
[
j
]);
获取指定用户下所有已安装的应用信息,通过Promise获取返回值。
}
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
+
'
]
'
);
| bundleFlags | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
for
(
var
j
=
0
;
j
<
data
.
moduleDirs
.
length
;
j
++
)
{
| userId | number | 是 | 用户ID |
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
]);
| -------------------------------- | ------------------------------------------------ |
}
| Promise
<Array
\<
ApplicationInfo
>
> | 返回值为Promise对象,Promise中包含应用信息列表。 |
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
);
```
}
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);
## bundle.getAllApplicationInfo
console.info("index[" + i + "].description:" + data[i].description);
console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
getAllApplicationInfo(bundleFlags: number, userId: number): Promise
<Array
\<
ApplicationInfo
>
>
console.info("index[" + i + "].iconPath:" + data[i].iconPath);
console.info("index[" + i + "].iconId:" + data[i].iconId);
获取指定用户下所有已安装的应用信息,通过Promise获取返回值。
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);
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
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 + ']');
| bundleFlags | number | 是 | 0:返回默认应用信息
<
<
br
/>
8:返回包含权限信息的应用信息 |
for (var j = 0; j < data[i].permissions.length; j++) {
| userId | number | 是 | 用户ID |
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]);
| -------------------------------- | ------------------------------------------------ |
}
| Promise
<Array
\<
ApplicationInfo
>
> | 返回值为Promise对象,Promise中包含应用信息列表。 |
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);
```
js
}
bundle
.
getAllApplicationInfo
(
8
,
0
).
then
((
data
)
=>
{
console.info("index[" + i + "].entryDir:" + data[i].entryDir);
console
.
info
(
'
xxx getAllApplicationInfo data length [
'
+
data
.
length
+
'
]
'
);
console.info("index[" + i + "].codePath:" + data[i].codePath);
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
console.info("index[" + i + "].dataDir:" + data[i].dataDir);
console
.
info
(
"
index[
"
+
i
+
"
].name: for begin
"
);
console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
console
.
info
(
"
index[
"
+
i
+
"
].name:
"
+
data
[
i
].
name
);
console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
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
);
## bundle.getAllApplicationInfo
console
.
info
(
"
index[
"
+
i
+
"
].deviceId:
"
+
data
[
i
].
deviceId
);
console
.
info
(
"
index[
"
+
i
+
"
].signatureKey:
"
+
data
[
i
].
signatureKey
);
getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback
<Array
\<
ApplicationInfo
>
>): void
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
]);
| bundleFlags | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
}
| userId | number | 是 | 用户ID |
console
.
info
(
'
getAllApplicationInfo Async moduleSourceDirs length [
'
+
data
[
i
].
moduleSourceDirs
.
length
+
'
]
'
);
| callback | AsyncCallback
<Array
\<
ApplicationInfo
>
> | 是 | 回调方法 |
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
++
)
{
bundle.getAllApplicationInfo(8, 0, OnReceiveEvent);
console
.
info
(
"
index[
"
+
i
+
"
]moduleInfos[
"
+
j
+
"
]moduleName:
"
+
data
[
i
].
moduleInfos
[
j
].
moduleName
);
console
.
info
(
"
index[
"
+
i
+
"
]moduleInfos[
"
+
j
+
"
]moduleSourceDir:
"
+
data
[
i
].
moduleInfos
[
j
].
moduleSourceDir
);
function OnReceiveEvent(err, data) {
}
console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
console
.
info
(
"
index[
"
+
i
+
"
].entryDir:
"
+
data
[
i
].
entryDir
);
for (var i = 0; i < data.length; i++) {
console
.
info
(
"
index[
"
+
i
+
"
].codePath:
"
+
data
[
i
].
codePath
);
console.info("index[" + i + "].name: for begin");
console
.
info
(
"
index[
"
+
i
+
"
].dataDir:
"
+
data
[
i
].
dataDir
);
console.info("index[" + i + "].name:" + data[i].name);
console
.
info
(
"
index[
"
+
i
+
"
].dataBaseDir:
"
+
data
[
i
].
dataBaseDir
);
console.info("index[" + i + "].bundleName:" + data[i].bundleName);
console
.
info
(
"
index[
"
+
i
+
"
].cacheDir:
"
+
data
[
i
].
cacheDir
);
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);
## bundle.getAllApplicationInfo
console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
console.info("index[" + i + "].process:" + data[i].process);
getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback
<Array
\<
ApplicationInfo
>
>): void
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++) {
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
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]);
| ----------- | -------------------------------------- | ---- | ------------------------------------------------------ |
}
| bundleFlags | number | 是 | 0:返回默认应用信息
<
<
br
/>
8:返回包含权限信息的应用信息 |
console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
| userId | number | 是 | 用户ID |
for (var j = 0; j < data[i].moduleInfos.length; j++) {
| callback | AsyncCallback
<Array
\<
ApplicationInfo
>
> | 是 | 程序启动作为入参的回调函数,返回应用信息列表。 |
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);
```
js
console.info("index[" + i + "].codePath:" + data[i].codePath);
bundle
.
getAllApplicationInfo
(
8
,
0
,
OnReceiveEvent
);
console.info("index[" + i + "].dataDir:" + data[i].dataDir);
console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
function
OnReceiveEvent
(
err
,
data
)
{
console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
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
);
## bundle.queryAbilityByWant
console
.
info
(
"
index[
"
+
i
+
"
].iconPath:
"
+
data
[
i
].
iconPath
);
console
.
info
(
"
index[
"
+
i
+
"
].iconId:
"
+
data
[
i
].
iconId
);
queryAbilityByWant(want: Want, bundleFlags: number, userId: number): Promise
<Array
\<
AbilityInfo
>
>
console
.
info
(
"
index[
"
+
i
+
"
].label:
"
+
data
[
i
].
label
);
console
.
info
(
"
index[
"
+
i
+
"
].labelId:
"
+
data
[
i
].
labelId
);
通过Want获取对应的Ability信息,通过Promise获取返回值。
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
);
| want |
[
Want
](
#want
)
| 是 | 指定Want信息 |
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console
.
info
(
'
getAllApplicationInfo Async permissions length [
'
+
data
[
i
].
permissions
.
length
+
'
]
'
);
| userId | number | 是 | 用户ID |
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
++
)
{
| Promise
<Array
\<
AbilityInfo
>
> | 返回值为Promise对象,Promise中包含Ability信息。 |
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
);
bundle.queryAbilityByWant({
console
.
info
(
"
index[
"
+
i
+
"
]moduleInfos[
"
+
j
+
"
]moduleSourceDir:
"
+
data
[
i
].
moduleInfos
[
j
].
moduleSourceDir
);
want: {
}
action: "action.system.home",
console
.
info
(
"
index[
"
+
i
+
"
].entryDir:
"
+
data
[
i
].
entryDir
);
entities: ["entity.system.home"],
console
.
info
(
"
index[
"
+
i
+
"
].codePath:
"
+
data
[
i
].
codePath
);
elementName: {
console
.
info
(
"
index[
"
+
i
+
"
].dataDir:
"
+
data
[
i
].
dataDir
);
deviceId: "0",
console
.
info
(
"
index[
"
+
i
+
"
].dataBaseDir:
"
+
data
[
i
].
dataBaseDir
);
bundleName: "com.example.myapplicationInstall",
console
.
info
(
"
index[
"
+
i
+
"
].cacheDir:
"
+
data
[
i
].
cacheDir
);
abilityName: "com.example.myapplication.MainAbility",
}
},
}
}
```
}, 1, 0,
}).then((data) => {
console.info("name:" + data.name);
console.info("label:" + data.label);
## bundle.queryAbilityByWant
console.info("description:" + data.description);
console.info("iconPath:" + data.iconPath);
queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise
<Array
\<
AbilityInfo
>
>
console.info("visible:" + data.visible);
console.info("kind:" + data.kind);
以异步方法根据给定的意图获取Ability信息,使用Promise形式返回结果。
console.info("uri:" + data.uri);
console.info("process:" + data.process);
**需要权限:**
console.info("package:" + data.package);
console.info("bundleName:" + data.bundleName);
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
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);
| want | Want | 是 | 包含要查询的应用程序包名称的意图。 |
| bundleFlags | number | 是 | 0:返回默认AbilityInfo
<br/>
2:返回包含权限信息的AbilityInfo
<br/>
4:返回包含应用信息的AbilityInfo |
console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
| userId | number | 否 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0 |
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]);
| Promise
<Array
\<
AbilityInfo
>
> | Promise形式返回Ability信息。 |
}
console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
**示例:**
for (var j = 0; j < data.deviceCapabilities.length; j++) {
console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
```
js
}
bundle
.
queryAbilityByWant
({
console.info("appInfo.name:" + data.applicationInfo.name);
want
:
{
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
action
:
"
action.system.home
"
,
// ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
entities
:
[
"
entity.system.home
"
],
console.info("type:" + data.type);
elementName
:
{
// orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
deviceId
:
"
0
"
,
console.info("orientation:" + data.orientation);
bundleName
:
"
com.example.myapplicationInstall
"
,
// launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
abilityName
:
"
com.example.myapplication.MainAbility
"
,
console.info("launchMode:" + data.launchMode);
},
}
// the enum of AbilityType
},
1
,
0
,
console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
}).
then
((
data
)
=>
{
console.info("AbilityType:" + bundle.AbilityType.PAGE);
console
.
info
(
"
name:
"
+
data
.
name
);
console.info("AbilityType:" + bundle.AbilityType.SERVICE);
console
.
info
(
"
label:
"
+
data
.
label
);
console.info("AbilityType:" + bundle.AbilityType.DATA);
console
.
info
(
"
description:
"
+
data
.
description
);
if (data.type == bundle.AbilityType.PAGE) {
console
.
info
(
"
iconPath:
"
+
data
.
iconPath
);
console.info("this AbilityType is PAGE");
console
.
info
(
"
visible:
"
+
data
.
visible
);
}
console
.
info
(
"
kind:
"
+
data
.
kind
);
// the enum of DisplayOrientation
console
.
info
(
"
uri:
"
+
data
.
uri
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
console
.
info
(
"
process:
"
+
data
.
process
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
console
.
info
(
"
package:
"
+
data
.
package
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
console
.
info
(
"
bundleName:
"
+
data
.
bundleName
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
console
.
info
(
"
moduleName:
"
+
data
.
moduleName
);
if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
console
.
info
(
"
applicationName:
"
+
data
.
applicationName
);
console.info("this DisplayOrientation is UNSPECIFIED");
console
.
info
(
"
deviceId:
"
+
data
.
deviceId
);
}
console
.
info
(
"
codePath:
"
+
data
.
codePath
);
// the enum of LaunchMode
console
.
info
(
"
resourcePath:
"
+
data
.
resourcePath
);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
console
.
info
(
"
libPath:
"
+
data
.
libPath
);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
console
.
info
(
'
queryAbilityInfo permissions length [
'
+
data
.
permissions
.
length
+
'
]
'
);
if (data.launchMode == bundle.LaunchMode.STANDARD) {
for
(
var
j
=
0
;
j
<
data
.
permissions
.
length
;
j
++
)
{
console.info("this LaunchMode is STANDARD");
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
++
)
{
## bundle.queryAbilityByWant
console
.
info
(
"
deviceCapabilities[
"
+
j
+
"
]:
"
+
data
.
deviceCapabilities
[
j
]);
}
queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback
<Array
\<
AbilityInfo
>
>): void
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
通过Want获取对应的Ability信息,通过回调函数获取返回值。
// 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
);
| want |
[
Want
](
#want
)
| 是 | 指定Want信息 |
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
// the enum of AbilityType
| userId | number | 是 | 用户ID |
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
UNKNOWN
);
| callback | AsyncCallback
<Array
\<
AbilityInfo
>
> | 是 | 回调方法 |
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
"
);
bundle.queryAbilityByWant(
}
{
// the enum of DisplayOrientation
want: {
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
UNSPECIFIED
);
action: "action.system.home",
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
LANDSCAPE
);
entities: ["entity.system.home"],
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
PORTRAIT
);
elementName: {
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
FOLLOWRECENT
);
deviceId: "0",
if
(
data
.
orientation
==
bundle
.
DisplayOrientation
.
UNSPECIFIED
)
{
bundleName: "com.example.myapplicationInstall",
console
.
info
(
"
this DisplayOrientation is UNSPECIFIED
"
);
abilityName: "com.example.myapplication.MainAbility",
}
},
// the enum of LaunchMode
}
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
SINGLETON
);
}, 1, 0,
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
SINGLETOP
);
}, OnReceiveEvent);
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
STANDARD
);
if
(
data
.
launchMode
==
bundle
.
LaunchMode
.
STANDARD
)
{
function OnReceiveEvent(err, data) {
console
.
info
(
"
this LaunchMode is STANDARD
"
);
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);
## bundle.queryAbilityByWant
console.info("package:" + data.package);
console.info("bundleName:" + data.bundleName);
queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback
<Array
\<
AbilityInfo
>
>): void
console.info("moduleName:" + data.moduleName);
console.info("applicationName:" + data.applicationName);
以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。
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 + ']');
| want | Want | 是 | 指示包含要查询的应用程序包名称的意图。 |
for (var j = 0; j < data.permissions.length; j++) {
| bundleFlags | number | 是 | 0:返回默认AbilityInfo
<br/>
2:返回包含权限信息的AbilityInfo
<br/>
4:返回包含应用信息的AbilityInfo |
console.info("permissions[" + j + "]:" + data.permissions[j]);
| userId | number | 是 | 用户ID |
}
| callback | AsyncCallback
<Array
\<
AbilityInfo
>
> | 是 | 程序启动作为入参的回调函数,返回Ability信息。 |
console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
for (var j = 0; j < data.deviceTypes.length; j++) {
**示例:**
console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
}
```
js
console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
bundle
.
queryAbilityByWant
(
for (var j = 0; j < data.deviceCapabilities.length; j++) {
{
console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
want
:
{
}
action
:
"
action.system.home
"
,
console.info("appInfo.name:" + data.applicationInfo.name);
entities
:
[
"
entity.system.home
"
],
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
elementName
:
{
// ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
deviceId
:
"
0
"
,
console.info("type:" + data.type);
bundleName
:
"
com.example.myapplicationInstall
"
,
// orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
abilityName
:
"
com.example.myapplication.MainAbility
"
,
console.info("orientation:" + data.orientation);
},
// launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
}
console.info("launchMode:" + data.launchMode);
},
1
,
0
,
},
OnReceiveEvent
);
// the enum of AbilityType
console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
function
OnReceiveEvent
(
err
,
data
)
{
console.info("AbilityType:" + bundle.AbilityType.PAGE);
console
.
info
(
"
name:
"
+
data
.
name
);
console.info("AbilityType:" + bundle.AbilityType.SERVICE);
console
.
info
(
"
label:
"
+
data
.
label
);
console.info("AbilityType:" + bundle.AbilityType.DATA);
console
.
info
(
"
description:
"
+
data
.
description
);
if (data.type == bundle.AbilityType.PAGE) {
console
.
info
(
"
iconPath:
"
+
data
.
iconPath
);
console.info("this AbilityType is PAGE");
console
.
info
(
"
visible:
"
+
data
.
visible
);
}
console
.
info
(
"
kind:
"
+
data
.
kind
);
// the enum of DisplayOrientation
console
.
info
(
"
uri:
"
+
data
.
uri
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
console
.
info
(
"
process:
"
+
data
.
process
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
console
.
info
(
"
package:
"
+
data
.
package
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
console
.
info
(
"
bundleName:
"
+
data
.
bundleName
);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
console
.
info
(
"
moduleName:
"
+
data
.
moduleName
);
if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
console
.
info
(
"
applicationName:
"
+
data
.
applicationName
);
console.info("this DisplayOrientation is UNSPECIFIED");
console
.
info
(
"
deviceId:
"
+
data
.
deviceId
);
}
console
.
info
(
"
codePath:
"
+
data
.
codePath
);
// the enum of LaunchMode
console
.
info
(
"
resourcePath:
"
+
data
.
resourcePath
);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
console
.
info
(
"
libPath:
"
+
data
.
libPath
);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
console
.
info
(
'
queryAbilityInfo permissions length [
'
+
data
.
permissions
.
length
+
'
]
'
);
if (data.launchMode == bundle.LaunchMode.STANDARD) {
for
(
var
j
=
0
;
j
<
data
.
permissions
.
length
;
j
++
)
{
console.info("this LaunchMode is STANDARD");
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
+
'
]
'
);
## bundle.getPermissionDef
for
(
var
j
=
0
;
j
<
data
.
deviceCapabilities
.
length
;
j
++
)
{
console
.
info
(
"
deviceCapabilities[
"
+
j
+
"
]:
"
+
data
.
deviceCapabilities
[
j
]);
getPermissionDef(permissionName: string): Promise
\<
BundleInfo>
}
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
获取指定权限的详细信息,通过Promise获取返回值。
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
| permissionName | string | 是 | 权限名 |
console
.
info
(
"
launchMode:
"
+
data
.
launchMode
);
**返回值:**
// the enum of AbilityType
| 类型 | 说明 |
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
UNKNOWN
);
| -------------------- | -------------------- |
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
PAGE
);
| Promise
\<
BundleInfo> | 返回值为bundle信息。 |
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
SERVICE
);
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
DATA
);
**示例:**
if
(
data
.
type
==
bundle
.
AbilityType
.
PAGE
)
{
console
.
info
(
"
this AbilityType is PAGE
"
);
```
}
bundle.getPermissionDef('com.permission.CAMERA').then((data) => {
// the enum of DisplayOrientation
console.info("permissionName:" + data.permissionName);
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
UNSPECIFIED
);
console.info("bundleName:" + data.bundleName);
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
LANDSCAPE
);
console.info("grantMode:" + data.grantMode);
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
PORTRAIT
);
console.info("availableScope:" + data.availableScope);
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
FOLLOWRECENT
);
console.info("label:" + data.label);
if
(
data
.
orientation
==
bundle
.
DisplayOrientation
.
UNSPECIFIED
)
{
console.info("labelId:" + data.labelId);
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
);
## bundle.getPermissionDef
if
(
data
.
launchMode
==
bundle
.
LaunchMode
.
STANDARD
)
{
console
.
info
(
"
this LaunchMode is STANDARD
"
);
getPermissionDef(permissionName: string, callback: AsyncCallback
\<
PermissionDef>): void
}
}
获取指定权限的详细信息,通过回调函数获取返回值。
```
**参数:**
## bundle.queryAbilityByWant
| 名称 | 类型 | 必填 | 描述 |
queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback
<Array
<
AbilityInfo
>
>): void
| -------------- | ----------------------------- | ---- | -------- |
| permissionName | string | 是 | 权限名 |
以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。
| callback | AsyncCallback
\<
PermissionDef> | 是 | 回调方法 |
**参数:**
**示例:**
| 名称 | 类型 | 必填 | 描述 |
```
| ----------- | ---------------------------------- | ---- | ------------------------------------------------------------ |
bundle.getBundleInstaller().then((data) => {
| want | Want | 是 | 指示包含要查询的应用程序包名称的意图。 |
data.getPermissionDef('com.permission.CAMERA', OnReceiveEvent);
| bundleFlags | number | 是 | 0:返回默认AbilityInfo
<br/>
2:返回包含权限信息的AbilityInfo
<br/>
4:返回包含应用信息的AbilityInfo |
| callback | AsyncCallback
<Array
\<
AbilityInfo
>
> | 是 | 程序启动作为入参的回调函数,返回Ability信息。 |
function OnReceiveEvent(err, data) {
console.info("permissionName:" + data.permissionName);
**示例:**
console.info("bundleName:" + data.bundleName);
console.info("grantMode:" + data.grantMode);
```
js
console.info("availableScope:" + data.availableScope);
bundle
.
queryAbilityByWant
(
console.info("label:" + data.label);
{
console.info("labelId:" + data.labelId);
want
:
{
}
action
:
"
action.system.home
"
,
})
entities
:
[
"
entity.system.home
"
],
```
elementName
:
{
deviceId
:
"
0
"
,
bundleName
:
"
com.example.myapplicationInstall
"
,
abilityName
:
"
com.example.myapplication.MainAbility
"
,
## bundle.getBundleArchiveInfo
},
}
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number): Promise
\<
BundleInfo>
},
1
,
},
OnReceiveEvent
);
获取HAP包含的应用包信息,通过Promise获取返回值。
function
OnReceiveEvent
(
err
,
data
)
{
**参数:**
console
.
info
(
"
name:
"
+
data
.
name
);
console
.
info
(
"
label:
"
+
data
.
label
);
| 名称 | 类型 | 必填 | 描述 |
console
.
info
(
"
description:
"
+
data
.
description
);
| ----------- | ------ | ---- | ------------------------------------------------------------ |
console
.
info
(
"
iconPath:
"
+
data
.
iconPath
);
| hapFilePath | string | 是 | hap包文件路径 |
console
.
info
(
"
visible:
"
+
data
.
visible
);
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
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
);
| Promise
\<
BundleInfo> | 返回值为bundle信息。 |
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
);
bundle.getBundleArchiveInfo('/data/test.hap', 1).then((data) => {
console
.
info
(
"
libPath:
"
+
data
.
libPath
);
console.info("name:" + data.name);
console.info("label:" + data.label);
console
.
info
(
'
queryAbilityInfo permissions length [
'
+
data
.
permissions
.
length
+
'
]
'
);
console.info("description:" + data.description);
for
(
var
j
=
0
;
j
<
data
.
permissions
.
length
;
j
++
)
{
console.info("vendor:" + data.vendor);
console
.
info
(
"
permissions[
"
+
j
+
"
]:
"
+
data
.
permissions
[
j
]);
console.info("versionCode:" + data.versionCode);
}
console.info("versionName:" + data.versionName);
console
.
info
(
'
queryAbilityInfo deviceTypes length [
'
+
data
.
deviceTypes
.
length
+
'
]
'
);
console.info("jointUserId:" + data.jointUserId);
for
(
var
j
=
0
;
j
<
data
.
deviceTypes
.
length
;
j
++
)
{
console.info("minSdkVersion:" + data.minSdkVersion);
console
.
info
(
"
deviceTypes[
"
+
j
+
"
]:
"
+
data
.
deviceTypes
[
j
]);
console.info("maxSdkVersion:" + data.maxSdkVersion);
}
console.info("mainEntry:" + data.mainEntry);
console
.
info
(
'
queryAbilityInfo deviceCapabilities length [
'
+
data
.
deviceCapabilities
.
length
+
'
]
'
);
console.info("cpuAbi:" + data.cpuAbi);
for
(
var
j
=
0
;
j
<
data
.
deviceCapabilities
.
length
;
j
++
)
{
console.info("appId:" + data.appId);
console
.
info
(
"
deviceCapabilities[
"
+
j
+
"
]:
"
+
data
.
deviceCapabilities
[
j
]);
console.info("compatibleVersion:" + data.compatibleVersion);
}
console.info("targetVersion:" + data.targetVersion);
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
console.info("releaseType:" + data.releaseType);
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
console.info("uid:" + data.uid);
// ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
console.info("gid:" + data.gid);
console
.
info
(
"
type:
"
+
data
.
type
);
console.info("seInfo:" + data.seInfo);
// orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
console.info("entryModuleName:" + data.entryModuleName);
console
.
info
(
"
orientation:
"
+
data
.
orientation
);
console.info("isKeepAlive:" + data.isKeepAlive);
// launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
console.info("isNativeApp:" + data.isNativeApp);
console
.
info
(
"
launchMode:
"
+
data
.
launchMode
);
console.info("installTime:" + data.installTime);
console.info("updateTime:" + data.updateTime);
// the enum of AbilityType
console.info("appInfo.name:" + data.applicationInfo.name);
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
UNKNOWN
);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
PAGE
);
console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
SERVICE
);
for (var j = 0; j < data.reqPermissions.length; j++) {
console
.
info
(
"
AbilityType:
"
+
bundle
.
AbilityType
.
DATA
);
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
if
(
data
.
type
==
bundle
.
AbilityType
.
PAGE
)
{
}
console
.
info
(
"
this AbilityType is PAGE
"
);
console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
}
for (var j = 0; j < data.defPermissions.length; j++) {
// the enum of DisplayOrientation
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
UNSPECIFIED
);
}
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
LANDSCAPE
);
console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
PORTRAIT
);
for (var j = 0; j < data.hapModuleNames.length; j++) {
console
.
info
(
"
DisplayOrientation:
"
+
bundle
.
DisplayOrientation
.
FOLLOWRECENT
);
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
if
(
data
.
orientation
==
bundle
.
DisplayOrientation
.
UNSPECIFIED
)
{
}
console
.
info
(
"
this DisplayOrientation is UNSPECIFIED
"
);
console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
}
for (var j = 0; j < data.moduleNames.length; j++) {
// the enum of LaunchMode
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
SINGLETON
);
}
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
SINGLETOP
);
console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
console
.
info
(
"
LaunchMode:
"
+
bundle
.
LaunchMode
.
STANDARD
);
for (var j = 0; j < data.modulePublicDirs.length; j++) {
if
(
data
.
launchMode
==
bundle
.
LaunchMode
.
STANDARD
)
{
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
console
.
info
(
"
this LaunchMode is STANDARD
"
);
}
}
console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
}
for (var j = 0; j < data.moduleDirs.length; j++) {
```
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
}
## bundle.getBundleArchiveInfo
console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
for (var j = 0; j < data.moduleResPaths.length; j++) {
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number): Promise
\<
BundleInfo>
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
}
以异步方法从给定的HAP中获取BundleInfo,使用Promise形式返回结果。
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);
| 名称 | 类型 | 必填 | 描述 |
}
| ----------- | ------ | ---- | ------------------------------------------------------------ |
})
| hapFilePath | string | 是 | HAP文件路径 |
```
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
## bundle.getBundleArchiveInfo
**返回值:**
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback
\<
BundleInfo>): void
| 类型 | 说明 |
| -------------------- | ------------------------------------------ |
获取HAP包含的应用包信息,通过回调函数获取返回值。
| Promise
\<
BundleInfo> | 返回值为Promise对象,Promise中包含包信息。 |
**参数:**
**示例:**
| 名称 | 类型 | 必填 | 描述 |
```
js
| ----------- | ------------------------- | ---- | ------------------------------------------------------------ |
bundle
.
getBundleArchiveInfo
(
'
/data/test.hap
'
,
1
).
then
((
data
)
=>
{
| hapFilePath | string | 是 | hap包文件路径 |
console
.
info
(
"
name:
"
+
data
.
name
);
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
console
.
info
(
"
label:
"
+
data
.
label
);
| callback | AsyncCallback
<BundleInfo>
| 是 | 回调方法 |
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
);
bundle.getBundleArchiveInfo('/data/test.hap', 1, OnReceiveEvent);
console
.
info
(
"
minSdkVersion:
"
+
data
.
minSdkVersion
);
console
.
info
(
"
maxSdkVersion:
"
+
data
.
maxSdkVersion
);
function OnReceiveEvent(err, data) {
console
.
info
(
"
mainEntry:
"
+
data
.
mainEntry
);
console.info("name:" + data.name);
console
.
info
(
"
cpuAbi:
"
+
data
.
cpuAbi
);
console.info("label:" + data.label);
console
.
info
(
"
appId:
"
+
data
.
appId
);
console.info("description:" + data.description);
console
.
info
(
"
compatibleVersion:
"
+
data
.
compatibleVersion
);
console.info("vendor:" + data.vendor);
console
.
info
(
"
targetVersion:
"
+
data
.
targetVersion
);
console.info("versionCode:" + data.versionCode);
console
.
info
(
"
releaseType:
"
+
data
.
releaseType
);
console.info("versionName:" + data.versionName);
console
.
info
(
"
uid:
"
+
data
.
uid
);
console.info("jointUserId:" + data.jointUserId);
console
.
info
(
"
gid:
"
+
data
.
gid
);
console.info("minSdkVersion:" + data.minSdkVersion);
console
.
info
(
"
seInfo:
"
+
data
.
seInfo
);
console.info("maxSdkVersion:" + data.maxSdkVersion);
console
.
info
(
"
entryModuleName:
"
+
data
.
entryModuleName
);
console.info("mainEntry:" + data.mainEntry);
console
.
info
(
"
isKeepAlive:
"
+
data
.
isKeepAlive
);
console.info("cpuAbi:" + data.cpuAbi);
console
.
info
(
"
isNativeApp:
"
+
data
.
isNativeApp
);
console.info("appId:" + data.appId);
console
.
info
(
"
installTime:
"
+
data
.
installTime
);
console.info("compatibleVersion:" + data.compatibleVersion);
console
.
info
(
"
updateTime:
"
+
data
.
updateTime
);
console.info("targetVersion:" + data.targetVersion);
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
console.info("releaseType:" + data.releaseType);
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
console.info("uid:" + data.uid);
console
.
info
(
'
getBundleArchiveInfo reqPermissions length [
'
+
data
.
reqPermissions
.
length
+
'
]
'
);
console.info("gid:" + data.gid);
for
(
var
j
=
0
;
j
<
data
.
reqPermissions
.
length
;
j
++
)
{
console.info("seInfo:" + data.seInfo);
console
.
info
(
"
reqPermissions[
"
+
j
+
"
]:
"
+
data
.
reqPermissions
[
j
]);
console.info("entryModuleName:" + data.entryModuleName);
}
console.info("isKeepAlive:" + data.isKeepAlive);
console
.
info
(
'
getBundleArchiveInfo defPermissions length [
'
+
data
.
defPermissions
.
length
+
'
]
'
);
console.info("isNativeApp:" + data.isNativeApp);
for
(
var
j
=
0
;
j
<
data
.
defPermissions
.
length
;
j
++
)
{
console.info("installTime:" + data.installTime);
console
.
info
(
"
defPermissions[
"
+
j
+
"
]:
"
+
data
.
defPermissions
[
j
]);
console.info("updateTime:" + data.updateTime);
}
console.info("appInfo.name:" + data.applicationInfo.name);
console
.
info
(
'
getBundleArchiveInfo hapModuleNames length [
'
+
data
.
hapModuleNames
.
length
+
'
]
'
);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
for
(
var
j
=
0
;
j
<
data
.
hapModuleNames
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
console
.
info
(
"
hapModuleNames[
"
+
j
+
"
]:
"
+
data
.
hapModuleNames
[
j
]);
for (var j = 0; j < data.reqPermissions.length; j++) {
}
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
console
.
info
(
'
getBundleArchiveInfo moduleNames length [
'
+
data
.
moduleNames
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
moduleNames
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
console
.
info
(
"
moduleNames[
"
+
j
+
"
]:
"
+
data
.
moduleNames
[
j
]);
for (var j = 0; j < data.defPermissions.length; j++) {
}
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
console
.
info
(
'
getBundleArchiveInfo modulePublicDirs length [
'
+
data
.
modulePublicDirs
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
modulePublicDirs
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
console
.
info
(
"
modulePublicDirs[
"
+
j
+
"
]:
"
+
data
.
modulePublicDirs
[
j
]);
for (var j = 0; j < data.hapModuleNames.length; j++) {
}
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
console
.
info
(
'
getBundleArchiveInfo moduleDirs length [
'
+
data
.
moduleDirs
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
moduleDirs
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
console
.
info
(
"
moduleDirs[
"
+
j
+
"
]:
"
+
data
.
moduleDirs
[
j
]);
for (var j = 0; j < data.moduleNames.length; j++) {
}
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
console
.
info
(
'
getBundleArchiveInfo moduleResPaths length [
'
+
data
.
moduleResPaths
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
moduleResPaths
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
console
.
info
(
"
moduleResPaths[
"
+
j
+
"
]:
"
+
data
.
moduleResPaths
[
j
]);
for (var j = 0; j < data.modulePublicDirs.length; j++) {
}
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
console
.
info
(
'
getBundleArchiveInfo abilityInfo length [
'
+
data
.
abilityInfos
.
length
+
'
]
'
);
}
for
(
var
j
=
0
;
j
<
data
.
abilityInfos
.
length
;
j
++
)
{
console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
console
.
info
(
"
abilityInfos[
"
+
j
+
"
]name:
"
+
data
.
abilityInfos
[
j
].
name
);
for (var j = 0; j < data.moduleDirs.length; j++) {
console
.
info
(
"
abilityInfos[
"
+
j
+
"
]package:
"
+
data
.
abilityInfos
[
j
].
package
);
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]);
## bundle.getBundleArchiveInfo
}
console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback
\<
BundleInfo>): void
for (var j = 0; j < data.abilityInfos.length; j++) {
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
以异步方法从给定的HAP中获取BundleInfo,使用callback形式返回结果。
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
}
**参数:**
}
```
| 名称 | 类型 | 必填 | 描述 |
| ----------- | ------------------------- | ---- | ------------------------------------------------------------ |
## install
| hapFilePath | string | 是 | HAP文件路径 |
| bundleFlags | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
install(bundleFilePaths: Array
\<
string>, param: InstallParam, callback: AsyncCallback
\<
InstallStatus>): void
| callback | AsyncCallback
<BundleInfo>
| 是 | 程序启动作为入参的回调函数,返回包信息。 |
安装hap包。
**示例:**
**参数:**
```
js
bundle
.
getBundleArchiveInfo
(
'
/data/test.hap
'
,
1
,
OnReceiveEvent
);
| 名称 | 类型 | 必填 | 描述 |
| --------------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ |
function
OnReceiveEvent
(
err
,
data
)
{
| bundleFilePaths | Array
\<
string> | 是 | 安装用包路径 |
console
.
info
(
"
name:
"
+
data
.
name
);
| param | InstallParam | 是 | userId:用户ID
<br/>
installFlag:安装标识。
<br/>
NORMAL:安装/卸载
<br/>
REPLACE_EXISTING:更新
<br/>
isKeepData:卸载时是否保留运行时数据 |
console
.
info
(
"
label:
"
+
data
.
label
);
| callback | AsyncCallback
<
[
InstallStatus
](
#installstatus
)
>
| 是 | 回调方法 |
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
);
bundle.getBundleInstaller().then((data) => {
console
.
info
(
"
minSdkVersion:
"
+
data
.
minSdkVersion
);
data.install(['/data/test.hap'], {
console
.
info
(
"
maxSdkVersion:
"
+
data
.
maxSdkVersion
);
param: {
console
.
info
(
"
mainEntry:
"
+
data
.
mainEntry
);
userId: 0,
console
.
info
(
"
cpuAbi:
"
+
data
.
cpuAbi
);
isKeepData: false
console
.
info
(
"
appId:
"
+
data
.
appId
);
}
console
.
info
(
"
compatibleVersion:
"
+
data
.
compatibleVersion
);
}, OnReceiveinstallEvent);
console
.
info
(
"
targetVersion:
"
+
data
.
targetVersion
);
console
.
info
(
"
releaseType:
"
+
data
.
releaseType
);
function OnReceiveinstallEvent(err, data) {
console
.
info
(
"
uid:
"
+
data
.
uid
);
console.info("name: for begin");
console
.
info
(
"
gid:
"
+
data
.
gid
);
console.info("install result code:" + data.status);
console
.
info
(
"
seInfo:
"
+
data
.
seInfo
);
console.info("install result msg:" + data.statusMessage);
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
);
## uninstall
console
.
info
(
"
appInfo.name:
"
+
data
.
applicationInfo
.
name
);
console
.
info
(
"
appInfo.bundleName:
"
+
data
.
applicationInfo
.
bundleName
);
uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback
\<
InstallStatus>): void
console
.
info
(
'
getBundleArchiveInfo reqPermissions length [
'
+
data
.
reqPermissions
.
length
+
'
]
'
);
for
(
var
j
=
0
;
j
<
data
.
reqPermissions
.
length
;
j
++
)
{
卸载hap包。
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
]);
| ---------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ |
}
| bundleName | string | 是 | 卸载用包名 |
console
.
info
(
'
getBundleArchiveInfo hapModuleNames length [
'
+
data
.
hapModuleNames
.
length
+
'
]
'
);
| param | InstallParam | 是 | userId:用户ID
<br/>
installFlag:安装标识。
<br/>
NORMAL:安装/卸载
<br/>
REPLACE_EXISTING:更新
<br/>
isKeepData:卸载时是否保留运行时数据 |
for
(
var
j
=
0
;
j
<
data
.
hapModuleNames
.
length
;
j
++
)
{
| callback | AsyncCallback
<
[
InstallStatus
](
#installstatus
)
>
| 是 | 回调方法 |
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
]);
bundle.getBundleInstaller().then((data) => {
}
data.uninstall('com.example.myapplication', {
console
.
info
(
'
getBundleArchiveInfo modulePublicDirs length [
'
+
data
.
modulePublicDirs
.
length
+
'
]
'
);
param: {
for
(
var
j
=
0
;
j
<
data
.
modulePublicDirs
.
length
;
j
++
)
{
userId: 0,
console
.
info
(
"
modulePublicDirs[
"
+
j
+
"
]:
"
+
data
.
modulePublicDirs
[
j
]);
isKeepData: false
}
}
console
.
info
(
'
getBundleArchiveInfo moduleDirs length [
'
+
data
.
moduleDirs
.
length
+
'
]
'
);
}, OnReceiveinstallEvent);
for
(
var
j
=
0
;
j
<
data
.
moduleDirs
.
length
;
j
++
)
{
console
.
info
(
"
moduleDirs[
"
+
j
+
"
]:
"
+
data
.
moduleDirs
[
j
]);
function OnReceiveinstallEvent(err, data) {
}
console.info("name: for begin");
console
.
info
(
'
getBundleArchiveInfo moduleResPaths length [
'
+
data
.
moduleResPaths
.
length
+
'
]
'
);
console.info("uninstall result code:" + data.status);
for
(
var
j
=
0
;
j
<
data
.
moduleResPaths
.
length
;
j
++
)
{
console.info("uninstall result msg:" + data.statusMessage);
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
);
## bundle.getAllShortcutInfo
console
.
info
(
"
abilityInfos[
"
+
j
+
"
]package:
"
+
data
.
abilityInfos
[
j
].
package
);
}
getAllShortcutInfo(bundleName: string): Promise
\<
ShortcutInfo>
}
```
获取指定bundle名的shortcut信息,通过Promise获取返回值。
## bundle.getBundleInstaller
**参数:**
getBundleInstaller(): Promise
<BundleInstaller>
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------- |
以异步方法获取BundleInstaller,使用Promise形式返回结果。
| bundleName | string | 是 | bundle名 |
**返回值:**
**返回值:**
| 类型 | 说明 |
| 类型 | 说明 |
| ---------------------- | -------------------- |
| ------------------------ | --------------------------------------------------- |
| Promise
\<
ShortcutInfo> | 返回值为bundle信息。 |
| Promise
<BundleInstaller>
| 返回值为Promise对象,Promise中包含BundleInstaller。 |
**示例:**
**示例:**
```
```
js
bundle.getAllShortcutInfo('com.example.third1').then((data) => {
bundle
.
getBundleInstaller
().
then
((
data
)
=>
{
...
data
.
install
([
'
/data/test.hap
'
],
{
});
param
:
{
```
userId
:
0
,
installFlag
:
1
,
isKeepData
:
false
}
## bundle.getAllShortcutInfo
},
OnReceiveinstallEvent
);
getAllShortcutInfo(bundleName: string, callback: AsyncCallback
<Array
\<
ShortcutInfo
>
>): void
function
OnReceiveinstallEvent
(
err
,
data
)
{
console
.
info
(
"
name: for begin
"
);
获取指定bundle名的shortcut信息,通过回调函数获取返回值。
console
.
info
(
"
install result code:
"
+
data
.
status
);
console
.
info
(
"
install result msg:
"
+
data
.
statusMessage
);
**参数:**
}
})
| 名称 | 类型 | 必填 | 描述 |
```
| ---------- | --------------------------- | ---- | -------- |
| bundleName | string | 是 | bundle名 |
## bundle.getBundleInstaller
| callback | AsyncCallback
<ShortcutInfo>
| 是 | 回调方法 |
getBundleInstaller(callback: AsyncCallback
<BundleInstaller>
): void;
**示例:**
以异步方法从给定的HAP中获取BundleInstaller,使用callback形式返回结果。
```
bundle.getAllShortcutInfo('com.example.third1', OnReceiveEvent);
**参数:**
function OnReceiveEvent(err, data) {
| 名称 | 类型 | 必填 | 描述 |
...
| -------- | ------------------------------ | ---- | ------------------------------------------------- |
}
| callback | AsyncCallback
<BundleInstaller>
| 是 | 程序启动作为入参的回调函数,返回BundleInstaller。 |
```
**示例:**
## bundle.checkPermission
```
js
checkPermission(bundleName: string, permission: string): Promise
\<
GrantStatus>
bundle
.
getBundleInstaller
((
err
,
data
)
=>
{
data
.
uninstall
(
'
com.example.myapplication
'
,
{
校验应用是否具有指定权限,通过Promise获取返回值。
userId
:
0
,
installFlag
:
1
,
**参数:**
isKeepData
:
false
},
OnReceiveinstallEvent
);
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------- |
function
OnReceiveinstallEvent
(
err
,
data
)
{
| bundleName | string | 是 | bundle名 |
console
.
info
(
"
name: for begin
"
);
| permission | string | 是 | 权限名 |
console
.
info
(
"
uninstall result code:
"
+
data
.
status
);
console
.
info
(
"
uninstall result msg:
"
+
data
.
statusMessage
);
**返回值:**
}
| 类型 | 说明 |
})
| --------------------- | -------------------- |
```
| Promise
\<
GrantStatus> | 返回值为bundle信息。 |
## bundle.getAllShortcutInfo
**示例:**
getAllShortcutInfo(bundleName: string): Promise
<Array
<
ShortcutInfo
>
>
```
bundle.getModuleUsageRecords('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA').then((data) => {
以异步方法获取指定bundle的Shortcut信息,使用Promise形式返回结果。
...
});
**参数:**
```
| 名称 | 类型 | 必填 | 描述 |
## bundle.checkPermission
| ---------- | ------ | ---- | -------- |
| bundleName | string | 是 | bundle名 |
checkPermission(bundleName: string, permission: string, callback: AsyncCallback
\<
GrantStatus>): void
**返回值:**
校验应用是否具有指定权限,通过回调函数获取返回值。
| 类型 | 说明 |
| ----------------------------- | ---------------------------------------------------- |
**参数:**
| Promise
\<
Array
<ShortcutInfo>
> | 返回值为Promise对象,Promise中包含Shortcut信息列表。 |
| 名称 | 类型 | 必填 | 描述 |
**示例:**
| ---------- | --------------------------- | ---- | -------- |
| bundleName | string | 是 | bundle名 |
```
js
| permission | string | 是 | 权限名 |
bundle
.
getAllShortcutInfo
(
'
com.example.third1
'
).
then
((
data
)
=>
{
| callback | AsyncCallback
\<
GrantStatus> | 是 | 回调方法 |
console
.
log
(
"
getAllShortcutInfo data:
"
+
data
);
});
**示例:**
```
```
bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA', OnReceiveEvent);
## bundle.getAllShortcutInfo
function OnReceiveEvent(err, data) {
...
getAllShortcutInfo(bundleName: string, callback: AsyncCallback
<Array
\<
ShortcutInfo
>
>): void
}
```
以异步方法获取指定bundle的Shortcut信息,使用callback形式返回结果。
## Want
**参数:**
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| 名称 | 类型 | 必填 | 描述 |
| ----------- | -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| ---------- | ------------------------------------ | ---- | -------------------------------------------------- |
| elementName | 只读 |
[
ElementName
](
#elementname
)
| 是 | 表示运行指定Ability的ElementName。 |
| bundleName | string | 是 | bundle名 |
| uri | 只读 | string | 否 | 表示Uri描述。 |
| callback | AsyncCallback
<
<
Array
\<
ShortcutInfo
>
> | 是 | 程序启动作为入参的回调函数,返回Shortcut信息列表。 |
| flags | 只读 | int | 否 | Ability的flag,表示处理Want的方式。 |
| type | 只读 | string | 否 | Want中的type属性是指由Want的URI所指示的资源的MIME类型。 |
**示例:**
| action | 只读 | string | 否 | 表示动作,通常使用系统预置Action,应用也可以自定义Action。 |
| want_param | 只读 | {[key: string]: any} | 否 | want_param是一种支持自定义的数据结构,开发者可以通过want_param传递某些请求所需的额外信息。 |
```
js
| entities | 只读 | Array
\<
string> | 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
bundle
.
getAllShortcutInfo
(
'
com.example.third1
'
,
OnReceiveEvent
);
## ElementName
function
OnReceiveEvent
(
err
,
data
)
{
console
.
log
(
"
getAllShortcutInfo data:
"
+
data
);
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
}
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
```
| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
| bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
## bundle.checkPermission
| abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
checkPermission(bundleName: string, permission: string): Promise
\<
GrantStatus>
## InstallStatus
以异步方法校验指定bundle是否具有指定权限,使用Promise形式返回结果。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
**参数:**
| status | 只读 | InstallErrorCode | 是 | 安装结果code
<br/>
SUCCESS = 0
<br/>
STATUS_INSTALL_FAILURE = 1
<br/>
STATUS_INSTALL_FAILURE_ABORTED = 2,
<br/>
STATUS_INSTALL_FAILURE_INVALID = 3
<br/>
STATUS_INSTALL_FAILURE_CONFLICT = 4
<br/>
STATUS_INSTALL_FAILURE_STORAGE = 5
<br/>
STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6
<br/>
STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT = 0x0B
<br/>
STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED = 0x0C
<br/>
STATUS_ABILITY_NOT_FOUND = 0x40
<br/>
STATUS_BMS_SERVICE_ERROR = 0x41 |
| statusMessage | 只读 | string | 是 | 安装结果Message |
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------- |
| bundleName | string | 是 | bundle名 |
| permission | string | 是 | 权限名 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------------------------------------------ |
| Promise
\<
GrantStatus> | 返回值为Promise对象,Promise中包含校验结果。
<br/>
-1: 未授权
<br/>
0: 已授权 |
**示例:**
```
js
bundle
.
checkPermission
(
'
com.example.actsbmscheckpermissiontest
'
,
'
com.permission.CAMERA
'
).
then
((
data
)
=>
{
console
.
log
(
"
checkPermission data:
"
+
data
);
});
```
## bundle.checkPermission
checkPermission(bundleName: string, permission: string, callback: AsyncCallback
\<
GrantStatus>): void
以异步方法校验指定bundle是否具有指定权限,使用callback形式返回结果。
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | --------------------------- | ---- | ------------------------------------------------------------ |
| bundleName | string | 是 | bundle名 |
| permission | string | 是 | 权限名 |
| callback | AsyncCallback
\<
GrantStatus> | 是 | 程序启动作为入参的回调函数,返回校验结果。
<br/>
-1: 未授权
<br/>
0: 已授权 |
**示例:**
```
js
bundle
.
checkPermission
(
'
com.example.actsbmscheckpermissiontest
'
,
'
com.permission.CAMERA
'
,
OnReceiveEvent
);
function
OnReceiveEvent
(
err
,
data
)
{
console
.
log
(
"
checkPermission data:
"
+
data
);
}
```
## ElementName
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
| bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
## InstallStatus
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
| status | 只读 | InstallErrorCode | 是 | 安装结果code
<br/>
SUCCESS = 0
<br/>
STATUS_INSTALL_FAILURE = 1
<br/>
STATUS_INSTALL_FAILURE_ABORTED = 2,
<br/>
STATUS_INSTALL_FAILURE_INVALID = 3
<br/>
STATUS_INSTALL_FAILURE_CONFLICT = 4
<br/>
STATUS_INSTALL_FAILURE_STORAGE = 5
<br/>
STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6
<br/>
STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT = 0x0B
<br/>
STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED = 0x0C
<br/>
STATUS_ABILITY_NOT_FOUND = 0x40
<br/>
STATUS_BMS_SERVICE_ERROR = 0x41 |
| statusMessage | 只读 | string | 是 | 安装结果Message |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录