Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
7b4a5b21
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7b4a5b21
编写于
9月 29, 2021
作者:
Z
zhaoyuan
提交者:
blackleon
9月 29, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed
8670efde
from
https://gitee.com/master_zy/docs/pulls/743
add develop guaid Signed-off-by:
N
zhaoyuan
<
zhaoyuan17@huawei.com
>
上级
d5255f20
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
8962 addition
and
0 deletion
+8962
-0
zh-cn/application-dev/js-reference/Bundle.md
zh-cn/application-dev/js-reference/Bundle.md
+1328
-0
zh-cn/application-dev/js-reference/CommonEvent.md
zh-cn/application-dev/js-reference/CommonEvent.md
+508
-0
zh-cn/application-dev/js-reference/Context.md
zh-cn/application-dev/js-reference/Context.md
+542
-0
zh-cn/application-dev/js-reference/DataUriUtils.md
zh-cn/application-dev/js-reference/DataUriUtils.md
+131
-0
zh-cn/application-dev/js-reference/FeatureAbility.md
zh-cn/application-dev/js-reference/FeatureAbility.md
+913
-0
zh-cn/application-dev/js-reference/Notification.md
zh-cn/application-dev/js-reference/Notification.md
+1676
-0
zh-cn/application-dev/js-reference/ParticleAbility.md
zh-cn/application-dev/js-reference/ParticleAbility.md
+411
-0
zh-cn/application-dev/js-reference/dataAbilityHelper.md
zh-cn/application-dev/js-reference/dataAbilityHelper.md
+837
-0
zh-cn/application-dev/quick-start/CommonEvent开发指南.md
zh-cn/application-dev/quick-start/CommonEvent开发指南.md
+522
-0
zh-cn/application-dev/quick-start/Notification开发指南.md
zh-cn/application-dev/quick-start/Notification开发指南.md
+1583
-0
zh-cn/application-dev/quick-start/PageAbility开发说明.md
zh-cn/application-dev/quick-start/PageAbility开发说明.md
+130
-0
zh-cn/application-dev/quick-start/ServiceAbility开发说明.md
zh-cn/application-dev/quick-start/ServiceAbility开发说明.md
+189
-0
zh-cn/application-dev/quick-start/基于Native的DataAbility创建与访问.md
.../application-dev/quick-start/基于Native的DataAbility创建与访问.md
+192
-0
未找到文件。
zh-cn/application-dev/js-reference/Bundle.md
0 → 100644
浏览文件 @
7b4a5b21
### Bundle模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback
<ApplicationInfo>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag, callback: AsyncCallback
<Array
<
BundleInfo
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleInfo(bundleName: string, bundleFlags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback
<BundleInfo>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback
<Array
<
ApplicationInfo
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback
<Array
<
AbilityInfo
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getPermissionDef(permissionName: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getPermissionDef(permissionName: string, callback: AsyncCallback
<permission.PermissionDef>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number, callback: AsyncCallback
<BundleInfo>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleInstaller().install(bundleFilePaths: Array
<string>
, param: InstallParam, callback: AsyncCallback
<InstallStatus>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getBundleInstaller().uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback
<InstallStatus>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllShortcutInfo(bundleName: string): Promise
<Array
<
ShortcutInfo
>
> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Bundle.getAllShortcutInfo(bundleName: string, callback: AsyncCallback
<Array
<
ShortcutInfo
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| getModuleUsageRecords(maxNum: number): Promise
<Array
<
ModuleUsageRecord
>
> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| getModuleUsageRecords(maxNum: number, callback: AsyncCallback
<Array
<
ModuleUsageRecord
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| checkPermission(bundleName: string, permission: string): Promise
<GrantStatus>
| 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| checkPermission(bundleName: string, permission: string, callback: AsyncCallback
<GrantStatus>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
-
#### 导入模块
```
import bundle from '@ohos.bundle';
```
#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number)
*
功能说明
根据给定的bundle名称获取ApplicationInfo
*
getApplicationInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
| bundleName | 只读 | string | 是 | 应用名 |
| bundleFlags | 只读 | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
| userId | 只读 | number | 是 | 用户ID |
*
返回值
Promise
<ApplicationInfo>
:返回值为Promise对象,Promise中包含应用信息。
*
示例
```
bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0).then((data) => {
console.info("name: for begin");
console.info("name:" + data.name);
console.info("bundleName:" + data.bundleName);
console.info("description:" + data.description);
console.info("descriptionId:" + data.descriptionId);
console.info("iconPath:" + data.iconPath);
console.info("iconId:" + data.iconId);
console.info("label:" + data.label);
console.info("labelId:" + data.labelId);
console.info("deviceId:" + data.deviceId);
console.info("signatureKey:" + data.signatureKey);
console.info("process:" + data.process);
console.info("isSystemApp:" + data.isSystemApp);
console.info("isLauncherApp:" + data.isLauncherApp);
console.info("supportedModes:" + data.supportedModes);
console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
for (var j = 0; j < data.permissions.length; j++) {
console.info("permissions[" + j + "]:" + data.permissions[j]);
}
console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
for (var j = 0; j < data.moduleSourceDirs.length; j++) {
console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
}
console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
for (var j = 0; j < data.moduleInfos.length; j++) {
console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
}
console.info("entryDir:" + data.entryDir);
console.info("codePath:" + data.codePath);
console.info("dataDir:" + data.dataDir);
console.info("dataBaseDir:" + data.dataBaseDir);
console.info("cacheDir:" + data.cacheDir);
})
```
#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback<ApplicationInfo>)
*
功能说明
根据给定的bundle名称获取ApplicationInfo
*
getApplicationInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------------------------------ | ---- | ------------------------------------------------------- |
| bundleName | 只读 | string | 是 | 应用名 |
| bundleFlags | 只读 | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
| userId | 只读 | number | 是 | 用户ID |
| callback | 只读 | AsyncCallback
<ApplicationInfo>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info("name: for begin");
console.info("name:" + data.name);
console.info("bundleName:" + data.bundleName);
console.info("description:" + data.description);
console.info("descriptionId:" + data.descriptionId);
console.info("iconPath:" + data.iconPath);
console.info("iconId:" + data.iconId);
console.info("label:" + data.label);
console.info("labelId:" + data.labelId);
console.info("deviceId:" + data.deviceId);
console.info("signatureKey:" + data.signatureKey);
console.info("process:" + data.process);
console.info("isSystemApp:" + data.isSystemApp);
console.info("isLauncherApp:" + data.isLauncherApp);
console.info("supportedModes:" + data.supportedModes);
console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
for (var j = 0; j < data.permissions.length; j++) {
console.info("permissions[" + j + "]:" + data.permissions[j]);
}
console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
for (var j = 0; j < data.moduleSourceDirs.length; j++) {
console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
}
console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
for (var j = 0; j < data.moduleInfos.length; j++) {
console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
}
console.info("entryDir:" + data.entryDir);
console.info("codePath:" + data.codePath);
console.info("dataDir:" + data.dataDir);
console.info("dataBaseDir:" + data.dataBaseDir);
console.info("cacheDir:" + data.cacheDir);
}
```
#### getAllBundleInfo(bundleFlag: BundleFlag)
*
功能说明
获取系统中所有可用的包信息
*
getAllBundleInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ---------- | ---- | ----------------------------------------------------------- |
| bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo
<br>
1:返回包含abilityInfo的BundleInfo |
*
返回值
Promise
<Array
<
BundleInfo
>
>:返回值为Promise对象,Promise中包含包信息列表。
*
示例
```
bundle.getAllBundleInfo(0).then((data) => {
for (var i = 0; i < data.length; i++) {
console.info("index[" + i + "].name: for begin");
console.info("index[" + i + "].name:" + data[i].name);
console.info("index[" + i + "].label:" + data[i].label);
console.info("index[" + i + "].description:" + data[i].description);
console.info("index[" + i + "].vendor:" + data[i].vendor);
console.info("index[" + i + "].versionCode:" + data[i].versionCode);
console.info("index[" + i + "].versionName:" + data[i].versionName);
console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
console.info("index[" + i + "].appId:" + data[i].appId);
console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
console.info("index[" + i + "].releaseType:" + data[i].releaseType);
console.info("index[" + i + "].uid:" + data[i].uid);
console.info("index[" + i + "].gid:" + data[i].gid);
console.info("index[" + i + "].seInfo:" + data[i].seInfo);
console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
console.info("index[" + i + "].installTime:" + data[i].installTime);
console.info("index[" + i + "].updateTime:" + data[i].updateTime);
console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
for (var j = 0; j < data[i].reqPermissions.length; j++) {
console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
}
console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
for (var j = 0; j < data[i].defPermissions.length; j++) {
console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
}
console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
for (var j = 0; j < data[i].hapModuleNames.length; j++) {
console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
}
console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
for (var j = 0; j < data[i].moduleNames.length; j++) {
console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
}
console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
}
console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
for (var j = 0; j < data[i].moduleDirs.length; j++) {
console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
}
console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
for (var j = 0; j < data[i].moduleResPaths.length; j++) {
console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
}
console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
for (var j = 0; j < data[i].abilityInfos.length; j++) {
console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
}
}
})
```
#### getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array<BundleInfo>>)
*
功能说明
获取系统中所有可用的包信息
*
getAllBundleInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------------------- | ---- | ------------------------------------------------------------ |
| bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
| callback | 只读 | AsyncCallback
<Array
<
BundleInfo
>
> | 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getAllBundleInfo(0, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info('xxx getAllBundleInfo data length [' + data.length + ']');
for (var i = 0; i < data.length; i++) {
console.info("index[" + i + "].name: for begin");
console.info("index[" + i + "].name:" + data[i].name);
console.info("index[" + i + "].label:" + data[i].label);
console.info("index[" + i + "].description:" + data[i].description);
console.info("index[" + i + "].vendor:" + data[i].vendor);
console.info("index[" + i + "].versionCode:" + data[i].versionCode);
console.info("index[" + i + "].versionName:" + data[i].versionName);
console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
console.info("index[" + i + "].appId:" + data[i].appId);
console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
console.info("index[" + i + "].releaseType:" + data[i].releaseType);
console.info("index[" + i + "].uid:" + data[i].uid);
console.info("index[" + i + "].gid:" + data[i].gid);
console.info("index[" + i + "].seInfo:" + data[i].seInfo);
console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
console.info("index[" + i + "].installTime:" + data[i].installTime);
console.info("index[" + i + "].updateTime:" + data[i].updateTime);
console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
for (var j = 0; j < data[i].reqPermissions.length; j++) {
console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
}
console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
for (var j = 0; j < data[i].defPermissions.length; j++) {
console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
}
console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
for (var j = 0; j < data[i].hapModuleNames.length; j++) {
console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
}
console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
for (var j = 0; j < data[i].moduleNames.length; j++) {
console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
}
console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
}
console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
for (var j = 0; j < data[i].moduleDirs.length; j++) {
console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
}
console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
for (var j = 0; j < data[i].moduleResPaths.length; j++) {
console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
}
console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
for (var j = 0; j < data[i].abilityInfos.length; j++) {
console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
}
}
}
```
#### getBundleInfo(bundleName: string, bundleFlags: number)
*
功能说明
根据bundle名称获取BundleInfo
*
getBundleInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 是 | 包名 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
*
返回值
Promise
<BundleInfo>
:返回值为Promise对象,Promise中包含包信息。
*
示例
```
bundle.getBundleInfo('com.example.myapplicationInstall', 1).then((data) => {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("vendor:" + data.vendor);
console.info("versionCode:" + data.versionCode);
console.info("versionName:" + data.versionName);
console.info("jointUserId:" + data.jointUserId);
console.info("minSdkVersion:" + data.minSdkVersion);
console.info("maxSdkVersion:" + data.maxSdkVersion);
console.info("mainEntry:" + data.mainEntry);
console.info("cpuAbi:" + data.cpuAbi);
console.info("appId:" + data.appId);
console.info("compatibleVersion:" + data.compatibleVersion);
console.info("targetVersion:" + data.targetVersion);
console.info("releaseType:" + data.releaseType);
console.info("uid:" + data.uid);
console.info("gid:" + data.gid);
console.info("seInfo:" + data.seInfo);
console.info("entryModuleName:" + data.entryModuleName);
console.info("isKeepAlive:" + data.isKeepAlive);
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
console.info("updateTime:" + data.updateTime);
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
for (var j = 0; j < data.reqPermissions.length; j++) {
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
}
console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
for (var j = 0; j < data.defPermissions.length; j++) {
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
}
console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
for (var j = 0; j < data.hapModuleNames.length; j++) {
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
}
console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
for (var j = 0; j < data.moduleNames.length; j++) {
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
}
console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
}
console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
for (var j = 0; j < data.moduleDirs.length; j++) {
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
}
console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
for (var j = 0; j < data.moduleResPaths.length; j++) {
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
}
console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
for (var j = 0; j < data.abilityInfos.length; j++) {
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
}
})
```
#### getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>)
*
功能说明
根据bundle名称获取BundleInfo
*
getBundleInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 是 | 包名 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
| callback | 只读 | AsyncCallback
<BundleInfo>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getBundleInfo('com.example.myapplicationInstall', 1, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("vendor:" + data.vendor);
console.info("versionCode:" + data.versionCode);
console.info("versionName:" + data.versionName);
console.info("jointUserId:" + data.jointUserId);
console.info("minSdkVersion:" + data.minSdkVersion);
console.info("maxSdkVersion:" + data.maxSdkVersion);
console.info("mainEntry:" + data.mainEntry);
console.info("cpuAbi:" + data.cpuAbi);
console.info("appId:" + data.appId);
console.info("compatibleVersion:" + data.compatibleVersion);
console.info("targetVersion:" + data.targetVersion);
console.info("releaseType:" + data.releaseType);
console.info("uid:" + data.uid);
console.info("gid:" + data.gid);
console.info("seInfo:" + data.seInfo);
console.info("entryModuleName:" + data.entryModuleName);
console.info("isKeepAlive:" + data.isKeepAlive);
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
console.info("updateTime:" + data.updateTime);
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
for (var j = 0; j < data.reqPermissions.length; j++) {
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
}
console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
for (var j = 0; j < data.defPermissions.length; j++) {
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
}
console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
for (var j = 0; j < data.hapModuleNames.length; j++) {
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
}
console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
for (var j = 0; j < data.moduleNames.length; j++) {
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
}
console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
}
console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
for (var j = 0; j < data.moduleDirs.length; j++) {
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
}
console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
for (var j = 0; j < data.moduleResPaths.length; j++) {
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
}
console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
for (var j = 0; j < data.abilityInfos.length; j++) {
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
}
}
```
#### getAllApplicationInfo(bundleFlags: number, userId: number)
*
功能说明
获取指定用户下所有已安装的应用信息
*
getAllApplicationInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
| bundleFlags | 只读 | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
| userId | 只读 | number | 是 | 用户ID |
*
返回值
Promise
<Array
<
ApplicationInfo
>
>:返回值为Promise对象,Promise中包含应用信息列表。
*
示例
```
bundle.getAllApplicationInfo(8, 0).then((data) => {
console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
for (var i = 0; i < data.length; i++) {
console.info("index[" + i + "].name: for begin");
console.info("index[" + i + "].name:" + data[i].name);
console.info("index[" + i + "].bundleName:" + data[i].bundleName);
console.info("index[" + i + "].description:" + data[i].description);
console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
console.info("index[" + i + "].iconPath:" + data[i].iconPath);
console.info("index[" + i + "].iconId:" + data[i].iconId);
console.info("index[" + i + "].label:" + data[i].label);
console.info("index[" + i + "].labelId:" + data[i].labelId);
console.info("index[" + i + "].deviceId:" + data[i].deviceId);
console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
console.info("index[" + i + "].process:" + data[i].process);
console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
for (var j = 0; j < data[i].permissions.length; j++) {
console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
}
console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
}
console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
for (var j = 0; j < data[i].moduleInfos.length; j++) {
console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
}
console.info("index[" + i + "].entryDir:" + data[i].entryDir);
console.info("index[" + i + "].codePath:" + data[i].codePath);
console.info("index[" + i + "].dataDir:" + data[i].dataDir);
console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
}
})
```
#### getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array<ApplicationInfo>>)
*
功能说明
获取指定用户下所有已安装的应用信息
*
getAllApplicationInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------------------------------------- | ---- | ------------------------------------------------------- |
| bundleFlags | 只读 | number | 是 | 0:返回默认app信息
<
<
br
/>
8:返回包含permissions的app信息 |
| userId | 只读 | number | 是 | 用户ID |
| callback | 只读 | AsyncCallback
<Array
<
ApplicationInfo
>
> | 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getAllApplicationInfo(8, 0, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
for (var i = 0; i < data.length; i++) {
console.info("index[" + i + "].name: for begin");
console.info("index[" + i + "].name:" + data[i].name);
console.info("index[" + i + "].bundleName:" + data[i].bundleName);
console.info("index[" + i + "].description:" + data[i].description);
console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
console.info("index[" + i + "].iconPath:" + data[i].iconPath);
console.info("index[" + i + "].iconId:" + data[i].iconId);
console.info("index[" + i + "].label:" + data[i].label);
console.info("index[" + i + "].labelId:" + data[i].labelId);
console.info("index[" + i + "].deviceId:" + data[i].deviceId);
console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
console.info("index[" + i + "].process:" + data[i].process);
console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
for (var j = 0; j < data[i].permissions.length; j++) {
console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
}
console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
}
console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
for (var j = 0; j < data[i].moduleInfos.length; j++) {
console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
}
console.info("index[" + i + "].entryDir:" + data[i].entryDir);
console.info("index[" + i + "].codePath:" + data[i].codePath);
console.info("index[" + i + "].dataDir:" + data[i].dataDir);
console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
}
}
```
#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number)
*
功能说明
通过Want获取对应的Ability信息
*
queryAbilityInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| want | 只读 | Want | 是 | 指定Want信息 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
| userId | 只读 | number | 是 | 用户ID |
*
Want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
| uri | 只读 | string | 否 | 表示Uri描述。 |
| 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传递某些请求所需的额外信息。 |
| entities | 只读 | Array
<string>
| 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
*
ElementName类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
| bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
*
返回值
Promise
<Array
<
AbilityInfo
>
>:返回值为Promise对象,Promise中包含Ability信息。
*
示例
```
bundle.queryAbilityByWant({
want: {
action: "action.system.home",
entities: ["entity.system.home"],
elementName: {
deviceId: "0",
bundleName: "com.example.myapplicationInstall",
abilityName: "com.example.myapplication.MainAbility",
},
}
}, 1, 0,
}).then((data) => {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("iconPath:" + data.iconPath);
console.info("visible:" + data.visible);
console.info("kind:" + data.kind);
console.info("uri:" + data.uri);
console.info("process:" + data.process);
console.info("package:" + data.package);
console.info("bundleName:" + data.bundleName);
console.info("moduleName:" + data.moduleName);
console.info("applicationName:" + data.applicationName);
console.info("deviceId:" + data.deviceId);
console.info("codePath:" + data.codePath);
console.info("resourcePath:" + data.resourcePath);
console.info("libPath:" + data.libPath);
console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
for (var j = 0; j < data.permissions.length; j++) {
console.info("permissions[" + j + "]:" + data.permissions[j]);
}
console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
for (var j = 0; j < data.deviceTypes.length; j++) {
console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
}
console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
for (var j = 0; j < data.deviceCapabilities.length; j++) {
console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
}
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
// ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
console.info("type:" + data.type);
// orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
console.info("orientation:" + data.orientation);
// launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
console.info("launchMode:" + data.launchMode);
// the enum of AbilityType
console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
console.info("AbilityType:" + bundle.AbilityType.PAGE);
console.info("AbilityType:" + bundle.AbilityType.SERVICE);
console.info("AbilityType:" + bundle.AbilityType.DATA);
if (data.type == bundle.AbilityType.PAGE) {
console.info("this AbilityType is PAGE");
}
// the enum of DisplayOrientation
console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
console.info("this DisplayOrientation is UNSPECIFIED");
}
// the enum of LaunchMode
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
if (data.launchMode == bundle.LaunchMode.STANDARD) {
console.info("this LaunchMode is STANDARD");
}
})
```
#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback<Array<AbilityInfo>>)
*
功能说明
通过Want获取对应的Ability信息
*
queryAbilityInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | --------------------------------- | ---- | ------------------------------------------------------------ |
| want | 只读 | Want | 是 | 指定Want信息 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
| userId | 只读 | number | 是 | 用户ID |
| callback | 只读 | AsyncCallback
<Array
<
AbilityInfo
>
> | 是 | 回调方法 |
*
Want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
| uri | 只读 | string | 否 | 表示Uri描述。 |
| 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传递某些请求所需的额外信息。 |
| entities | 只读 | Array
<string>
| 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
*
ElementName类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
| bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
*
返回值
void
*
示例
```
bundle.queryAbilityByWant(
{
want: {
action: "action.system.home",
entities: ["entity.system.home"],
elementName: {
deviceId: "0",
bundleName: "com.example.myapplicationInstall",
abilityName: "com.example.myapplication.MainAbility",
},
}
}, 1, 0,
}, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("iconPath:" + data.iconPath);
console.info("visible:" + data.visible);
console.info("kind:" + data.kind);
console.info("uri:" + data.uri);
console.info("process:" + data.process);
console.info("package:" + data.package);
console.info("bundleName:" + data.bundleName);
console.info("moduleName:" + data.moduleName);
console.info("applicationName:" + data.applicationName);
console.info("deviceId:" + data.deviceId);
console.info("codePath:" + data.codePath);
console.info("resourcePath:" + data.resourcePath);
console.info("libPath:" + data.libPath);
console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
for (var j = 0; j < data.permissions.length; j++) {
console.info("permissions[" + j + "]:" + data.permissions[j]);
}
console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
for (var j = 0; j < data.deviceTypes.length; j++) {
console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
}
console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
for (var j = 0; j < data.deviceCapabilities.length; j++) {
console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
}
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
// ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
console.info("type:" + data.type);
// orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
console.info("orientation:" + data.orientation);
// launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
console.info("launchMode:" + data.launchMode);
// the enum of AbilityType
console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
console.info("AbilityType:" + bundle.AbilityType.PAGE);
console.info("AbilityType:" + bundle.AbilityType.SERVICE);
console.info("AbilityType:" + bundle.AbilityType.DATA);
if (data.type == bundle.AbilityType.PAGE) {
console.info("this AbilityType is PAGE");
}
// the enum of DisplayOrientation
console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
console.info("this DisplayOrientation is UNSPECIFIED");
}
// the enum of LaunchMode
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
if (data.launchMode == bundle.LaunchMode.STANDARD) {
console.info("this LaunchMode is STANDARD");
}
}
```
#### getPermissionDef(permissionName: string)
*
功能说明
获取指定权限的详细信息
*
getPermissionDef参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------ | ---- | ------ |
| permissionName | 只读 | string | 是 | 权限名 |
*
返回值
Promise
<BundleInfo>
:返回值为bundle信息。
*
示例
```
bundle.getPermissionDef('com.permission.CAMERA').then((data) => {
console.info("permissionName:" + data.permissionName);
console.info("bundleName:" + data.bundleName);
console.info("grantMode:" + data.grantMode);
console.info("availableScope:" + data.availableScope);
console.info("label:" + data.label);
console.info("labelId:" + data.labelId);
})
```
#### getPermissionDef(permissionName: string, callback: AsyncCallback<PermissionDef>)
*
功能说明
获取指定权限的详细信息
*
getPermissionDef参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ---------------------------- | ---- | -------- |
| permissionName | 只读 | string | 是 | 权限名 |
| callback | 只读 | AsyncCallback
<PermissionDef>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getBundleInstaller().then((data) => {
data.getPermissionDef('com.permission.CAMERA', OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info("permissionName:" + data.permissionName);
console.info("bundleName:" + data.bundleName);
console.info("grantMode:" + data.grantMode);
console.info("availableScope:" + data.availableScope);
console.info("label:" + data.label);
console.info("labelId:" + data.labelId);
}
})
```
#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number)
*
功能说明
获取HAP包含的应用包信息
*
getBundleArchiveInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| hapFilePath | 只读 | string | 是 | hap包文件路径 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
*
返回值
Promise
<BundleInfo>
:返回值为bundle信息。
*
示例
```
bundle.getBundleArchiveInfo('/data/test.hap', 1).then((data) => {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("vendor:" + data.vendor);
console.info("versionCode:" + data.versionCode);
console.info("versionName:" + data.versionName);
console.info("jointUserId:" + data.jointUserId);
console.info("minSdkVersion:" + data.minSdkVersion);
console.info("maxSdkVersion:" + data.maxSdkVersion);
console.info("mainEntry:" + data.mainEntry);
console.info("cpuAbi:" + data.cpuAbi);
console.info("appId:" + data.appId);
console.info("compatibleVersion:" + data.compatibleVersion);
console.info("targetVersion:" + data.targetVersion);
console.info("releaseType:" + data.releaseType);
console.info("uid:" + data.uid);
console.info("gid:" + data.gid);
console.info("seInfo:" + data.seInfo);
console.info("entryModuleName:" + data.entryModuleName);
console.info("isKeepAlive:" + data.isKeepAlive);
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
console.info("updateTime:" + data.updateTime);
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
for (var j = 0; j < data.reqPermissions.length; j++) {
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
}
console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
for (var j = 0; j < data.defPermissions.length; j++) {
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
}
console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
for (var j = 0; j < data.hapModuleNames.length; j++) {
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
}
console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
for (var j = 0; j < data.moduleNames.length; j++) {
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
}
console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
}
console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
for (var j = 0; j < data.moduleDirs.length; j++) {
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
}
console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
for (var j = 0; j < data.moduleResPaths.length; j++) {
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
}
console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
for (var j = 0; j < data.abilityInfos.length; j++) {
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
}
})
```
#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>)
*
功能说明
获取HAP包含的应用包信息
*
getBundleArchiveInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| hapFilePath | 只读 | string | 是 | hap包文件路径 |
| bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo
<br/>
1:返回包含abilityInfo的BundleInfo |
| callback | 只读 | AsyncCallback
<BundleInfo>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getBundleArchiveInfo('/data/test.hap', 1, OnReceiveEvent);
function OnReceiveEvent(err, data) {
console.info("name:" + data.name);
console.info("label:" + data.label);
console.info("description:" + data.description);
console.info("vendor:" + data.vendor);
console.info("versionCode:" + data.versionCode);
console.info("versionName:" + data.versionName);
console.info("jointUserId:" + data.jointUserId);
console.info("minSdkVersion:" + data.minSdkVersion);
console.info("maxSdkVersion:" + data.maxSdkVersion);
console.info("mainEntry:" + data.mainEntry);
console.info("cpuAbi:" + data.cpuAbi);
console.info("appId:" + data.appId);
console.info("compatibleVersion:" + data.compatibleVersion);
console.info("targetVersion:" + data.targetVersion);
console.info("releaseType:" + data.releaseType);
console.info("uid:" + data.uid);
console.info("gid:" + data.gid);
console.info("seInfo:" + data.seInfo);
console.info("entryModuleName:" + data.entryModuleName);
console.info("isKeepAlive:" + data.isKeepAlive);
console.info("isNativeApp:" + data.isNativeApp);
console.info("installTime:" + data.installTime);
console.info("updateTime:" + data.updateTime);
console.info("appInfo.name:" + data.applicationInfo.name);
console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
for (var j = 0; j < data.reqPermissions.length; j++) {
console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
}
console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
for (var j = 0; j < data.defPermissions.length; j++) {
console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
}
console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
for (var j = 0; j < data.hapModuleNames.length; j++) {
console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
}
console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
for (var j = 0; j < data.moduleNames.length; j++) {
console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
}
console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
for (var j = 0; j < data.modulePublicDirs.length; j++) {
console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
}
console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
for (var j = 0; j < data.moduleDirs.length; j++) {
console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
}
console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
for (var j = 0; j < data.moduleResPaths.length; j++) {
console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
}
console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
for (var j = 0; j < data.abilityInfos.length; j++) {
console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
}
}
```
#### install(bundleFilePaths: Array<string>, param: InstallParam, callback: AsyncCallback<InstallStatus>)
*
功能说明
安装hap包
*
install参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| bundleFilePaths | 只读 | Array
<string>
| 是 | 安装用包路径 |
| param | 只读 | InstallParam | 是 | userId:用户ID
<br/>
installFlag:安装标识。
<br/>
NORMAL:安装/卸载
<br/>
REPLACE_EXISTING:更新
<br/>
isKeepData:卸载时是否保留运行时数据 |
| callback | 只读 | AsyncCallback
<InstallStatus>
| 是 | 回调方法 |
*
返回值
void
*
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 |
*
示例
```
bundle.getBundleInstaller().then((data) => {
data.install(['/data/test.hap'], {
param: {
userId: 0,
isKeepData: false
}
}, OnReceiveinstallEvent);
function OnReceiveinstallEvent(err, data) {
console.info("name: for begin");
console.info("install result code:" + data.status);
console.info("install result msg:" + data.statusMessage);
}
})
```
#### uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback<InstallStatus>)
*
功能说明
卸载hap包
*
uninstall参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 是 | 卸载用包名 |
| param | 只读 | InstallParam | 是 | userId:用户ID
<br/>
installFlag:安装标识。
<br/>
NORMAL:安装/卸载
<br/>
REPLACE_EXISTING:更新
<br/>
isKeepData:卸载时是否保留运行时数据 |
| callback | 只读 | AsyncCallback
<InstallStatus>
| 是 | 回调方法 |
*
返回值
void
*
InstallStatus类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
| status | 只读 | InstallErrorCode | 是 | 卸载结果code
<br/>
SUCCESS = 0
<br/>
STATUS_UNINSTALL_FAILURE = 7
<br/>
STATUS_UNINSTALL_FAILURE_BLOCKED = 8
<br/>
STATUS_UNINSTALL_FAILURE_ABORTED = 9,
<br/>
STATUS_UNINSTALL_FAILURE_CONFLICT = 10
<br/>
STATUS_ABILITY_NOT_FOUND = 0x40
<br/>
STATUS_BMS_SERVICE_ERROR = 0x41 |
| statusMessage | 只读 | string | 是 | 卸载结果Message |
*
示例
```
bundle.getBundleInstaller().then((data) => {
data.uninstall('com.example.myapplication', {
param: {
userId: 0,
isKeepData: false
}
}, OnReceiveinstallEvent);
function OnReceiveinstallEvent(err, data) {
console.info("name: for begin");
console.info("uninstall result code:" + data.status);
console.info("uninstall result msg:" + data.statusMessage);
}
})
```
#### getAllShortcutInfo(bundleName: string)
*
功能说明
获取指定bundle名的shortcut信息
*
getAllShortcutInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | -------- |
| bundleName | 只读 | string | 是 | bundle名 |
*
返回值
Promise
<ShortcutInfo>
:返回值为bundle信息。
*
示例
```
bundle.getAllShortcutInfo('com.example.third1').then((data) => {
...
});
```
#### getAllShortcutInfo(bundleName: string, callback: AsyncCallback<Array<ShortcutInfo>>)
*
功能说明
获取指定bundle名的shortcut信息
*
getAllShortcutInfo参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------------------------- | ---- | -------- |
| bundleName | 只读 | string | 是 | bundle名 |
| callback | 只读 | AsyncCallback
<ShortcutInfo>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.getAllShortcutInfo('com.example.third1', OnReceiveEvent);
function OnReceiveEvent(err, data) {
...
}
```
#### checkPermission(bundleName: string, permission: string)
*
功能说明
获取指定最大记录数的Usage信息
*
checkPermission参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | -------- |
| bundleName | 只读 | string | 是 | bundle名 |
| permission | 只读 | string | 是 | 权限名 |
*
返回值
Promise
<GrantStatus>
:返回值为bundle信息。
*
示例
```
bundle.getModuleUsageRecords('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA').then((data) => {
...
});
```
#### checkPermission(bundleName: string, permission: string, callback: AsyncCallback<GrantStatus>)
*
功能说明
获取指定最大记录数的Usage信息
*
checkPermission参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------------- | ---- | -------- |
| bundleName | 只读 | string | 是 | bundle名 |
| permission | 只读 | string | 是 | 权限名 |
| callback | 只读 | AsyncCallback
<GrantStatus>
| 是 | 回调方法 |
*
返回值
void
*
示例
```
bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA', OnReceiveEvent);
function OnReceiveEvent(err, data) {
...
}
```
zh-cn/application-dev/js-reference/CommonEvent.md
0 → 100644
浏览文件 @
7b4a5b21
CommonEvent模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- |
| CommonEvent.publish(event: string, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback
<CommonEventSubscriber>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback
<CommonEventData>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
#### 权限列表
| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 |
| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ |
| COMMON_EVENT_BOOT_COMPLETED | usual.event.BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_LOCKED_BOOT_COMPLETED | usual.event.LOCKED_BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_SHUTDOWN | usual.event.SHUTDOWN | 无 |
| COMMON_EVENT_BATTERY_CHANGED | usual.event.BATTERY_CHANGED | 无 |
| COMMON_EVENT_BATTERY_LOW | usual.event.BATTERY_LOW | 无 |
| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 |
| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 |
| COMMON_EVENT_POWER_DISCONNECTED | usual.event.POWER_DISCONNECTED | 无 |
| COMMON_EVENT_SCREEN_OFF | usual.event.SCREEN_OFF | 无 |
| COMMON_EVENT_SCREEN_ON | usual.event.SCREEN_ON | 无 |
| COMMON_EVENT_USER_PRESENT | usual.event.USER_PRESENT | 无 |
| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 |
| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 |
| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 |
| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 |
| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 |
| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 |
| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 |
| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 |
| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 |
| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 |
| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 |
| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 |
| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 |
| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 |
| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 |
| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 |
| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 |
| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 |
| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 |
| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 |
| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 |
| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 |
| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 |
| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 |
| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 |
| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 |
| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 |
| COMMON_EVENT_USER_BACKGROUND | usual.event.USER_BACKGROUND | 无 |
| COMMON_EVENT_USER_FOREGROUND | usual.event.USER_FOREGROUND | 无 |
| COMMON_EVENT_USER_SWITCHED | usual.event.USER_SWITCHED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_STARTING | usual.event.USER_STARTING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_UNLOCKED | usual.event.USER_UNLOCKED | 无 |
| COMMON_EVENT_USER_STOPPING | usual.event.USER_STOPPING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_STOPPED | usual.event.USER_STOPPED | 无 |
| COMMON_EVENT_HWID_LOGIN | common.event.HWID_LOGIN | 无 |
| COMMON_EVENT_HWID_LOGOUT | common.event.HWID_LOGOUT | 无 |
| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 |
| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 |
| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 |
| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION |
| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 |
| COMMON_EVENT_WIFI_HOTSPOT_STATE | usual.event.wifi.HOTSPOT_STATE | 无 |
| COMMON_EVENT_WIFI_AP_STA_JOIN | usual.event.wifi.WIFI_HS_STA_JOIN | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_AP_STA_LEAVE | usual.event.wifi.WIFI_HS_STA_LEAVE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE | usual.event.wifi.mplink.STATE_CHANGE | ohos.permission.MPLINK_CHANGE_STATE |
| COMMON_EVENT_WIFI_P2P_CONN_STATE | usual.event.wifi.p2p.CONN_STATE_CHANGE | ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION |
| COMMON_EVENT_WIFI_P2P_STATE_CHANGED | usual.event.wifi.p2p.STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED | usual.event.wifi.p2p.DEVICES_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED | usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED | usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED | usual.event.wifi.p2p.GROUP_STATE_CHANGED | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.handsfree.ag.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.a2dpsource.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsource.PLAYING_STATE_UPDATE" | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_AVRCP_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.AVRCP_CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CODEC_VALUE_UPDATE | usual.event.bluetooth.a2dpsource.CODEC_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_DISCOVERED | usual.event.bluetooth.remotedevice.DISCOVERED | ohos.permission.USE_BLUETOOTH and ohos.permission.LOCATION |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CLASS_VALUE_UPDATE | usual.event.bluetooth.remotedevice.CLASS_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_CONNECTED | usual.event.bluetooth.remotedevice.ACL_CONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_DISCONNECTED | usual.event.bluetooth.remotedevice.ACL_DISCONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_NAME_UPDATE | usual.event.bluetooth.remotedevice.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIR_STATE | usual.event.bluetooth.remotedevice.PAIR_STATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_BATTERY_VALUE_UPDATE | usual.event.bluetooth.remotedevice.BATTERY_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_SDP_RESULT | usual.event.bluetooth.remotedevice.SDP_RESULT | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_UUID_VALUE | usual.event.bluetooth.remotedevice.UUID_VALUE | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_REQ | usual.event.bluetooth.remotedevice.PAIRING_REQ | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_CANCEL | usual.event.bluetooth.remotedevice.PAIRING_CANCEL | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REQ | usual.event.bluetooth.remotedevice.CONNECT_REQ | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REPLY | usual.event.bluetooth.remotedevice.CONNECT_REPLY | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AUDIO_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_COMMON_EVENT | usual.event.bluetooth.handsfreeunit.AG_COMMON_EVENT | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_CALL_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AG_CALL_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_STATE_UPDATE | usual.event.bluetooth.host.STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISCOVERABLE | usual.event.bluetooth.host.REQ_DISCOVERABLE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_ENABLE | usual.event.bluetooth.host.REQ_ENABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISABLE | usual.event.bluetooth.host.REQ_DISABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_SCAN_MODE_UPDATE | usual.event.bluetooth.host.SCAN_MODE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_STARTED | usual.event.bluetooth.host.DISCOVERY_STARTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_FINISHED | usual.event.bluetooth.host.DISCOVERY_FINISHED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_NAME_UPDATE | usual.event.bluetooth.host.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsink.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsink.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_AUDIO_STATE_UPDATE | usual.event.bluetooth.a2dpsink.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED | usual.event.nfc.action.ADAPTER_STATE_CHANGED | 无 |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED | usual.event.nfc.action.RF_FIELD_ON_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED | usual.event.nfc.action.RF_FIELD_OFF_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_DISCHARGING | usual.event.DISCHARGING | 无 |
| COMMON_EVENT_CHARGING | usual.event.CHARGING | 无 |
| COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED | usual.event.DEVICE_IDLE_MODE_CHANGED | 无 |
| COMMON_EVENT_POWER_SAVE_MODE_CHANGED | usual.event.POWER_SAVE_MODE_CHANGED | 无 |
| COMMON_EVENT_USER_ADDED | usual.event.USER_ADDED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_REMOVED | usual.event.USER_REMOVED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_ABILITY_ADDED | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_UPDATED | common.event.ABILITY_UPDATED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_LOCATION_MODE_STATE_CHANGED | usual.event.location.MODE_STATE_CHANGED | 无 |
| COMMON_EVENT_IVI_SLEEP | common.event.IVI_SLEEP | 无 |
| COMMON_EVENT_IVI_PAUSE | common.event.IVI_PAUSE | 无 |
| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 |
| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 |
| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 |
| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 |
| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 |
| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 |
| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 |
| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 |
| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 |
| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 |
| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 |
| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 |
| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 |
| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VISIBLE_ACCOUNTS_UPDATED | usual.event.data.VISIBLE_ACCOUNTS_UPDATED | ohos.permission.GET_APP_ACCOUNTS |
| COMMON_EVENT_ACCOUNT_DELETED | usual.event.data.ACCOUNT_DELETED | ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS |
| COMMON_EVENT_FOUNDATION_READY | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 |
#### 导入模块
```
js
import
CommonEvent
from
'
@ohos.commonevent
'
;
```
#### CommonEvent.publish(event: string, callback: AsyncCallback<void>)
-
接口说明
发布公共事件(callback形式)
*
publish参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| event | 只读 | string | 是 | 表示要发送的公共事件 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
*
返回值
void
*
示例
```
js
//发布公共事件回调
function
PublishCallBack
(
err
)
{
console
.
info
(
"
==========================>PublishCallBack=======================>
"
);
console
.
info
(
"
==========================>err:=======================>
"
,
err
.
code
);
}
//发布公共事件
CommonEvent
.
publish
(
"
publish_event
"
,
PublishCallBack
);
```
#### CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback<void>)
-
接口说明
发布公共事件指定发布信息(callback形式)
-
publish参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | ---------------------- |
| event | 只读 | string | 是 | 表示要发布的公共事件 |
| options | 只读 | CommonEventPublishData | 是 | 表示发布公共事件的属性 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
CommonEventPublishData类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------------------- | -------- | -------------------- | ---- | ---------------------------- |
| bundleName | 只读 | string | 否 | 表示包名称 |
| code | 只读 | int | 否 | 表示公共事件的结果代码 |
| data | 只读 | string | 否 | 表示公共事件的自定义结果数据 |
| subscriberPermissions | 只读 | Array
<string>
| 否 | 表示订阅者的权限 |
| isOrdered | 只读 | bool | 否 | 表示是否是有序事件 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
返回值
void
-
示例
```
js
//公共事件相关信息
var
options
=
{
code
:
0
;
//公共事件的初始代码
data
:
"
initial data
"
;
//公共事件的初始数据
isOrdered
:
true
;
//有序公共事件
}
//发布公共事件回调
function
PublishCallBack
(
err
)
{
console
.
info
(
"
==========================>PublishCallBack=======================>
"
);
}
//发布公共事件
CommonEvent
.
publish
(
"
publish_event
"
,
options
,
PublishCallBack
);
```
#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback<CommonEventSubscriber>)
-
接口说明
创建订阅者(callback形式)
-
createSubscriber参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ------------------------------------ | ---- | ------------------------ |
| subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 |
| callback | 只读 | AsyncCallback
<CommonEventSubscriber>
| 是 | 表示创建订阅者的回调方法 |
-
CommonEventSubscriber 类说明
| 名称 | 参数 | 返回值 | 描述 |
| --------------------- | --------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ |
| getCode | callback: AsyncCallback
<number>
| void | 获取公共事件的结果代码(callback形式) |
| getCode | void | Promise
<number>
| 获取公共事件的结果代码(Promise形式) |
| setCode | code: number, callback: AsyncCallback
<void>
| void | 设置公共事件的结果代码(callback形式) |
| setCode | code: number | Promise
<void>
| 设置公共事件的结果代码(Promise形式) |
| getData | callback: AsyncCallback
<string>
| void | 获取公共事件的结果数据(callback形式) |
| getData | void | Promise
<string>
| 获取公共事件的结果数据(Promise形式) |
| setData | data: string, callback: AsyncCallback
<void>
| void | 设置公共事件的结果数据(callback形式) |
| setData | data: string | Promise
<void>
| 设置公共事件的结果数据(Promise形式) |
| setCodeAndData | code: number, data: string, callback: AsyncCallback
<void>
| void | 设置公共事件的结果代码和结果数据(callback形式) |
| setCodeAndData | code: number, data: string | Promise
<void>
| 设置公共事件的结果代码和结果数据(Promise形式) |
| isOrderedCommonEvent | callback: AsyncCallback
<boolean>
| void | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(callback形式) |
| isOrderedCommonEvent | void | Promise
<bool>
| 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(Promise形式) |
| abortCommonEvent | callback: AsyncCallback
<void>
| void | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) |
| abortCommonEvent | void | Promise
<void>
| 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) |
| clearAbortCommonEvent | callback: AsyncCallback
<void>
| void | 清除当前有序公共事件abort状态(callback形式) |
| clearAbortCommonEvent | void | Promise
<void>
| 清除当前有序公共事件abort状态(Promise形式) |
| getAbortCommonEvent | callback: AsyncCallback
<boolean>
| void | 获取当前有序公共事件是否取消的状态(callback形式) |
| getAbortCommonEvent | void | Promise
<boolean>
| 获取当前有序公共事件是否取消的状态Promise形式) |
| getSubscribeInfo | callback: AsyncCallback
<CommonEventSubscribeInfo>
| void | 获取订阅者的订阅信息(callback形式) |
| getSubscribeInfo | void | Promise
<CommonEventSubscribeInfo>
| 获取订阅者的订阅信息(Promise形式) |
-
CommonEventSubscribeInfo类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ |
| events | 只读 | Array
<string>
| 是 | 表示要订阅的公共事件 |
| publisherPermission | 只读 | string | 否 | 表示发布者的权限 |
| publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID |
| userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 |
| priority | 只读 | int | 否 | 表示订阅者的优先级,范围为-100~1000。 |
-
返回值
void
-
示例
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo)
-
接口说明
创建订阅者(Promise形式)
-
createSubscriber参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ------------------------ | ---- | ------------ |
| subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 |
-
CommonEventSubscribeInfo类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ |
| events | 只读 | Array
<string>
| 是 | 表示要发送的公共事件 |
| publisherPermission | 只读 | string | 否 | 表示发布者的权限 |
| publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID |
| userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 |
| priority | 只读 | int | 否 | 表示订阅者的优先级。值的范围是-100到1000 |
-
返回值
Promise
<CommonEventSubscriber>
-
示例
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>createSubscriberPromise=======================>
"
);
subscriber
=
data
;
});
```
#### CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback<CommonEventData>)
-
接口说明
订阅公共事件(callback形式)
-
subscribe参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------------------------------ | ---- | ------------------------------ |
| subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
| callback | 只读 | AsyncCallback
<CommonEventData>
| 是 | 表示接收公共事件数据的回调函数 |
-
CommonEventData类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------- | ---- | ------------------------------------------------------- |
| event | 只读 | string | 是 | 表示当前接收的公共事件名称 |
| bundleName | 只读 | string | 否 | 表示包名称 |
| code | 只读 | int | 否 | 表示公共事件的结果代码,用于传递int类型的数据 |
| data | 只读 | string | 否 | 表示公共事件的自定义结果数据,用于传递string 类型的数据 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
返回值
void
-
示例
*
无序事件:
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
*
有序事件
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//设置有序公共事件的结果代码回调
function
SetCodeCallBack
(
err
)
{
console
.
info
(
"
==========================>SetCodeCallBack=======================>
"
);
}
//设置有序公共事件的结果数据回调
function
SetDataCallBack
(
err
)
{
console
.
info
(
"
==========================>SetDataCallBack=======================>
"
);
}
//完成本次有序公共事件处理回调
function
FinishCommonEventCallBack
(
err
)
{
console
.
info
(
"
==========================>FinishCommonEventCallBack=======================>
"
);
}
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
//设置有序公共事件的结果代码
subscriber
.
setCode
(
0
,
SetCodeCallBack
);
//设置有序公共事件的结果数据
subscriber
.
setData
(
"
publish_data_changed
"
,
SetDataCallBack
);
//完成本次有序公共事件处理
subscriber
.
finishCommonEvent
(
FinishCommonEventCallBack
)
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
#### CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback<void>)
-
接口说明
取消订阅公共事件(callback形式)
-
unsubscribe参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------------------- | ---- | ---------------------- |
| subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示取消订阅的回调方法 |
-
返回值
void
-
示例
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//取消订阅公共事件回调
function
UnsubscribeCallBack
(
err
)
{
console
.
info
(
"
==========================>UnsubscribeCallBack=======================>
"
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
//取消订阅公共事件
CommonEvent
.
unsubscribe
(
subscriber
,
UnsubscribeCallBack
);
```
zh-cn/application-dev/js-reference/Context.md
0 → 100644
浏览文件 @
7b4a5b21
### Context模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
| Context.getOrCreateLocalDir(callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getOrCreateLocalDir() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.verifyPermission(permission: string, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.verifyPermission(permission: string, options?: PermissionOptions) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.requestPermissionsFromUser(permissions: Array
\<
string>, requestCode: number, resultCallback: AsyncCallback
\<
PermissionRequestResult>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getApplicationInfo(callback: AsyncCallback
\<
ApplicationInfo>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getApplicationInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getBundleName(callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getBundleName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getProcessInfo(callback: AsyncCallback
\<
ProcessInfo>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getProcessInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getElementName(callback: AsyncCallback
\<
ElementName>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getElementName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getProcessName(callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getProcessName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getCallingBundle(callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Context.getCallingBundle() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
**ohos.permission.RUNNING_LOCK permission**
#### 导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
import bundle from '@ohos.bundle'
```
#### Context.getOrCreateLocalDir(callback: AsyncCallback\<string>)
-
接口说明
获取应用程序的本地根目录。如果是第一次调用,将创建目录(callback形式)
-
getOrCreateLocalDir参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ----------------------- | ---- | ---------------- |
| callback | 只读 | AsyncCallback
\<
string>) | 是 | 被指定的回调方法 |
-
返回值
根目录
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getOrCreateLocalDir
()
```
#### Context.getOrCreateLocalDir()
-
接口说明
获取应用程序的本地根目录。如果是第一次调用,将创建目录(Promise形式)
-
返回值
根目录
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getOrCreateLocalDir
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getOrCreateLocalDirCallback=======================>
"
);
});
```
#### Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>)
-
接口说明
验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
-
verifyPermission参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ---------------------- | ---- | ---------------- |
| permission | 只读 | string | 是 | 指定权限的名称 |
| options | 只读 | PermissionOptions | 是 | 进程id |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 被指定的回调方法 |
-
PermissionOptions类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------ |
| pid | 只读 | number | 否 | 进程id |
| uid | 只读 | number | 否 | 用户id |
-
返回值
如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
bundle
from
'
@ohos.bundle
'
var
context
=
featureAbility
.
getContext
();
var
datainfo
=
await
bundle
.
getBundleInfo
(
'
com.context.test
'
,
1
);
context
.
verifyPermission
(
"
com.example.permission
"
,
datainfo
.
uid
,)
```
#### Context.verifyPermission(permission: string, callback: AsyncCallback\<number>)
-
接口说明
验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ----------------------- | ---- | ---------------- |
| permission | 只读 | string | 是 | 指定权限的名称 |
| callback | 只读 | AsyncCallback
\<
number>) | 是 | 被指定的回调方法 |
-
返回值
如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
verifyPermission
(
"
com.example.permission
"
)
```
#### Context.verifyPermission(permission: string, options?: PermissionOptions)
-
接口说明
验证系统中运行的特定pid和uid是否允许指定的权限(Promise形式)
-
verifyPermission参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ----------------- | ---- | -------------- |
| permission | 只读 | string | 是 | 指定权限的名称 |
| options | 只读 | PermissionOptions | 否 | 进程id |
-
PermissionOptions类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------ |
| pid | 只读 | number | 否 | 进程id |
| uid | 只读 | number | 否 | 用户id |
-
返回值
如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
var
Permission
=
context
.
PermissionOptions
(
1
,
1
);
context
.
getOrCreateLocalDir
(
'
com.context.permission
'
,
Permission
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>verifyPermissionCallback=======================>
"
);
});
```
#### Context.requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback\<PermissionRequestResult>)
-
接口说明
从系统请求某些权限(callback形式)
-
requestPermissionsFromUser参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ---------------------------------------- | ---- | --------------------------------------------- |
| permissions | 只读 | Array
\<
string> | 是 | 指示要请求的权限列表。此参数不能为null |
| requestCode | 只读 | number | 是 | 指示要传递给PermissionRequestResult的请求代码 |
| resultCallback | 只读 | AsyncCallback
\<
PermissionRequestResult>) | 是 | 被指定的回调方法 |
-
PermissionRequestResult类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------- | ---- | ------------------ |
| requestCode | 只读 | number | 是 | 用户传入的请求代码 |
| permissions | 只读 | Array
\<
string> | 是 | 用户传入的权限 |
| authResults | 只读 | Array
\<
number> | 是 | 求权限的结果 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getOrCreateLocalDir
(
[
"
com.example.permission1
"
,
"
com.example.permission2
"
,
"
com.example.permission3
"
,
"
com.example.permission4
"
,
"
com.example.permission5
"
],
1
,
)
```
#### Context.getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>)
-
接口说明
获取有关当前应用程序的信息(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
ApplicationInfo> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getApplicationInfo
()
```
#### Context.getApplicationInfo()
-
接口说明
获取有关当前应用程序的信息(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getApplicationInfo
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getApplicationInfoCallback=======================>
"
);
});
```
#### Context.getBundleName(callback: AsyncCallback\<string>)
-
接口说明
获取当前ability的捆绑包名称(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getBundleName
()
```
#### Context.getBundleName()
-
接口说明
获取当前ability的捆绑包名称(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getBundleName
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getBundleNameCallback=======================>
"
);
});
```
#### Context.getProcessInfo(callback: AsyncCallback\<ProcessInfo>)
-
接口说明
获取有关当前进程的信息,包括进程ID和名称(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
ProcessInfo> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getProcessInfo
()
```
#### Context.getProcessInfo()
-
接口说明
获取有关当前进程的信息,包括进程ID和名称(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getProcessInfo
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getProcessInfoCallback=======================>
"
);
});
```
#### Context.getElementName(callback: AsyncCallback\<ElementName>)
-
接口说明
获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
ElementName> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getElementName
()
```
#### Context.getElementName()
-
接口说明
获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getElementName
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getElementNameCallback=======================>
"
);
});
```
####
#### Context.getProcessName(callback: AsyncCallback\<string>)
-
接口说明
获取当前进程的名称(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getProcessName
()
```
#### Context.getProcessName()
-
接口说明
获取当前进程的名称(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getProcessName
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getProcessNameCallback=======================>
"
);
});
```
#### Context.getCallingBundle(callback: AsyncCallback\<string>)
-
接口说明
获取调用当前能力的能力的捆绑包名称(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getCallingBundle
()
```
#### Context.getCallingBundle()
-
接口说明
获取调用当前能力的能力的捆绑包名称(Promise形式)
-
参数描述
Null
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
context
=
featureAbility
.
getContext
();
context
.
getCallingBundle
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getCallingBundleCallback=======================>
"
);
});
```
zh-cn/application-dev/js-reference/DataUriUtils.md
0 → 100644
浏览文件 @
7b4a5b21
### DataUriUtils模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ---------------------------------------------- | ---- | ---- | ------ | -------- | -------------- | ------------ |
| DataUriUtils.getId(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataUriUtils.attachId(uri: string, id: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataUriUtils.deleteId(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataUriUtils.updateId(uri: string, id: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
ohos.permission.RUNNING_LOCK permission
#### 导入模块
```
js
import
notify
from
'
@ohos.ability.dataUriUtils
'
;
```
#### DataUriUtils.getId(uri: string)
-
接口说明
获取附加到给定uri的路径组件末尾的ID
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------- |
| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
-
返回值
附加到路径组件末尾的ID
-
示例
```
js
import
dataUriUtils
from
'
@ohos.ability.datauriutils
'
dataUriUtils
.
getIdSync
(
"
com.example.dataUriUtils/1221
"
)
```
#### DataUriUtils.attachId(uri: string, id: number)
-
接口说明
将给定ID附加到给定uri的路径组件的末尾
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------- |
| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
| id | 只读 | number | 是 | 指示要附加的ID |
-
返回值
附加给定ID的uri对象
-
示例
```
js
import
dataUriUtils
from
'
@ohos.ability.datauriutils
'
var
idint
=
1122
;
dataUriUtils
.
attachId
(
"
com.example.dataUriUtils
"
idint
,
)
```
#### DataUriUtils.deleteId(uri: string)
-
接口说明
从给定uri的路径组件的末尾删除ID
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------- |
| uri | 只读 | string | 是 | 指示要从中删除ID的uri对象 |
-
返回值
ID已删除的uri对象
-
示例
```
js
import
dataUriUtils
from
'
@ohos.ability.datauriutils
'
dataUriUtils
.
deleteId
(
"
com.example.dataUriUtils/1221
"
)
```
#### DataUriUtils.updateId(uri: string, id: number)
-
接口说明
更新指定uri中的ID
-
updateId参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------- |
| uri | 只读 | string | 是 | 指示要更新的uri对象 |
| id | 只读 | number | 是 | 指示新ID |
-
返回值
更新的uri对象
-
示例
```
js
import
dataUriUtils
from
'
@ohos.ability.datauriutils
'
var
idint
=
1122
;
dataUriUtils
.
updateId
(
"
com.example.dataUriUtils
"
idint
,
)
```
zh-cn/application-dev/js-reference/FeatureAbility.md
0 → 100644
浏览文件 @
7b4a5b21
### FeatureAbility模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
| FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.startAbility(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.acquireDataAbilityHelper(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback
\<
AbilityResult>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.hasWindowFocus(callback: AsyncCallback
\<
boolean>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.hasWindowFocus() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.getWant(callback: AsyncCallback
\<
Want>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.getWant() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.getContext() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.terminateSelf(callback: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| FeatureAbility.terminateSelf() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
ohos.permission.RUNNING_LOCK permission
#### 使用限制
FeatureAbility模块的接口只能在Page类型的Ability调用
#### 导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
```
#### FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\<number>)
*
接口说明
启动新的ability(callback形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | --------------------- | ---- | ------------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability |
| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
featureAbility
.
startAbility
(
{
want
:
{
action
:
""
,
entities
:
[
""
],
type
:
""
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.startability
"
,
abilityName
:
"
com.example.startability.MainAbility
"
,
uri
:
""
},
},
);
)
```
#### FeatureAbility.startAbility(parameter: StartAbilityParameter)
*
接口说明
启动新的ability(Promise形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | --------------------- | ---- | ------------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
featureAbility
.
startAbility
(
{
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.startability
"
,
abilityName
:
"
com.example.startability.MainAbility
"
,
uri
:
""
},
}
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>startAbility=======================>
"
);
});
```
#### FeatureAbility.acquireDataAbilityHelper(uri: string)
*
接口说明
获取dataAbilityHelper
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ---------------------- |
| uri | 只读 | string | 是 | 指示要打开的文件的路径 |
*
返回值
返回dataAbilityHelper
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
featureAbility
.
acquireDataAbilityHelper
(
"
dataability:///com.exmaple.DataAbility
"
)
```
#### FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\<AbilityResult>)
*
接口说明
启动一个ability,并在该ability被销毁时返回执行结果(callback形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | ---------------------- | ---- | ------------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 被指定的回调方法 |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
返回{@link AbilityResult}
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
startAbilityForResult
(
{
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.featureabilitytest
"
,
abilityName
:
"
com.example.startabilityforresulttest1.MainAbility
"
,
uri
:
""
},
},
)
```
#### FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter)
*
接口说明
启动一个ability,并在该ability被销毁时返回执行结果(Promise形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | --------------------- | ---- | ------------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
返回{@link AbilityResult}
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
startAbilityForResult
(
{
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.featureabilitytest
"
,
abilityName
:
"
com.example.startabilityforresulttest2.MainAbility
"
,
uri
:
""
,
parameters
:
{
mykey0
:
1111
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
xxxxxxxxxxxxxxxxxxxxxx
"
,
mykey4
:
[
1
,
15
],
mykey5
:
[
false
,
true
,
false
],
mykey6
:
[
"
aaaaaa
"
,
"
bbbbb
"
,
"
ccccccccccc
"
],
mykey7
:
true
,
},
},
requestCode
:
2
,
},
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>startAbilityForResult=======================>
"
);
});
```
#### FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\<void>)
*
接口说明
设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(callback形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | ------------- | ---- | ------------------- |
| parameter | 只读 | AbilityResult | 是 | 表示被启动的Ability |
| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 |
*
AbilityResult类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| resultCode | 只读 | number | 是 | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持) |
| want | 只读 | Want | 否 | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
featureAbility
.
terminateSelfWithResult
(
{
resultCode
:
1
,
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.featureabilitytest
"
,
abilityName
:
"
com.example.finishwithresulttest1.MainAbility
"
,
uri
:
""
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
1
,
15
],
mykey5
:
[
false
,
true
,
false
],
mykey6
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey7
:
true
,
}
},
},
);
```
#### FeatureAbility.terminateSelfWithResult(parameter: AbilityResult)
*
接口说明
设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(Promise形式)
*
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | ------------- | ---- | ------------------- |
| parameter | 只读 | AbilityResult | 是 | 表示被启动的Ability |
*
AbilityResult类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | ------------------------------------------------------------ |
| resultCode | 只读 | number | 是 | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持) |
| want | 只读 | Want | 否 | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
*
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
terminateSelfWithResult
(
{
resultCode
:
1
,
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
,
deviceId
:
""
,
bundleName
:
"
com.example.featureabilitytest
"
,
abilityName
:
"
com.example.finishwithresulttest1.MainAbility
"
,
uri
:
""
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
1
,
15
],
mykey5
:
[
false
,
true
,
false
],
mykey6
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey7
:
true
,
}
},
}
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>terminateSelfWithResult=======================>
"
);
});
```
#### FeatureAbility.hasWindowFocus(callback: AsyncCallback\<boolean>)
*
接口说明
检查ability的主窗口是否具有窗口焦点(callback形式)
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ----------------------- | ---- | ---------------- |
| callback | 只读 | AsyncCallback
\<
boolean> | 是 | 被指定的回调方法 |
*
返回值
如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false}
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
hasWindowFocus
()
```
#### FeatureAbility.hasWindowFocus()
*
接口说明
检查ability的主窗口是否具有窗口焦点(Promise形式)
*
参数描述
Null
*
返回值
如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false}
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
hasWindowFocus
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>hasWindowFocus=======================>
"
);
});
```
#### FeatureAbility.getWant(callback: AsyncCallback\<Want>)
*
接口说明
获取从ability发送的want(callback形式)
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ---------------- |
| callback | 只读 | AsyncCallback
\<
Want> | 是 | 被指定的回调方法 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
getWant
()
```
#### FeatureAbility.getWant()
*
接口说明
获取从ability发送的want(Promise形式)
*
参数描述
Null
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
getWant
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>getWantCallBack=======================>
"
);
});
```
#### FeatureAbility.getContext()
*
接口说明
获取应用程序上下文
*
返回值
返回应用程序上下文
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
var
context
=
featureAbility
.
getContext
()
context
.
getBundleName
()
```
#### FeatureAbility.terminateSelf(callback: AsyncCallback\<void>)
*
接口说明
设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(callback形式)
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ---------------- |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 被指定的回调方法 |
*
返回值
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
terminateSelf
()
```
#### FeatureAbility.terminateSelf()
*
接口说明
设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(Promise形式)
*
参数描述
Null
*
返回值
*
void
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
featureAbility
.
terminateSelf
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>terminateSelfCallBack=======================>
"
);
});
```
#### FeatureAbility.connectAbility(*request*: Want, *options*:ConnectOptions): number
*
接口说明
将当前ability连接到指定ServiceAbility(callback形式)
*
connectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------- | -------- | -------------- | ---- | -------------------------- |
| request | 只读 | Want | 是 | 表示被连接的ServiceAbility |
| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 |
-
ConnectOptions类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | -------- | ---- | ---------------------------------- |
| onConnect | 只读 | function | 是 | 连接成功时的回调函数 |
| onDisconnect | 只读 | function | 是 | 连接失败时的回调函数 |
| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 |
*
返回值
连接的ServiceAbilityID。
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
featureAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
featureAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
```
#### FeatureAbility.disconnectAbility(connection: number, callback:AsyncCallback<void>): void
*
接口说明
断开与指定ServiceAbility的连接(callback形式)
*
disconnectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------------- | ---- | ------------------------------ |
| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID |
| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 |
*
返回值
无
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
featureAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
featureAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
var
result
=
featureAbility
.
disconnectAbility
(
connId
,
(
error
,
data
)
=>
{
console
.
log
(
'
featureAbilityTest DisConnectJsSameBundleName result errCode :
'
+
error
.
code
+
"
data:
"
+
data
)
},
);
```
#### FeatureAbility.disconnectAbility(connection: number): Promise<void>;
*
接口说明
断开与指定ServiceAbility的连接(promise形式)
*
disconnectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | ------------------------------ |
| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID |
*
返回值
无
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
featureAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
featureAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
var
result
=
await
featureAbility
.
disconnectAbility
(
connId
);
```
zh-cn/application-dev/js-reference/Notification.md
0 → 100644
浏览文件 @
7b4a5b21
Notification模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- |
| Notification.publish(request: NotificationRequest, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.publish(request: NotificationRequest) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id: number, label: string, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id:number, label?:string) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id: number, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancelAll(callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancelAll() | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(slot: NotificationSlot, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(slot: NotificationSlot) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(type: SlotType, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(type: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlots(slots: Array
<NotificationSlot>
, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlots(slots: Array
<NotificationSlot>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlot(slotType: SlotType, callback: AsyncCallback
<NotificationSlot>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlot(slotType: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlots(callback: AsyncCallback
<Array
<
NotificationSlot
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlots() | 支持 | 支持 | 支持 | 支持 |
| Notification.removeSlot(slotType: SlotType, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeSlot(slotType: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAllSlots(callback: AsyncCallback
<void>
): void | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAllSlots(): Promise
<void>
| 支持 | 支持 | 支持 | 支持 |
| Notification.subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo) | 支持 | 支持 | 支持 | 支持 |
| Notification.unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.unsubscribe(subscriber: NotificationSubscriber) | 支持 | 支持 | 支持 | 支持 |
| Notification.enableNotification(bundle: BundleOption, enable: boolean, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.enableNotification(bundle: BundleOption, enable: boolean) | 支持 | 支持 | 支持 | 支持 |
| Notification.isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback
<boolean>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.isNotificationEnabled(bundle: BundleOption) | 支持 | 支持 | 支持 | 支持 |
| Notification.isNotificationEnabled(callback: AsyncCallback
<boolean>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.isNotificationEnabled() | 支持 | 支持 | 支持 | 支持 |
| Notification.displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.displayBadge(bundle: BundleOption, enable: boolean) | 支持 | 支持 | 支持 | 支持 |
| Notification.isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback
<boolean>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.isBadgeDisplayed(bundle: BundleOption) | 支持 | 支持 | 支持 | 支持 |
| Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback
<Array
<
NotificationSlot
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlotsByBundle(bundle: BundleOption) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback
<number>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlotNumByBundle(bundle: BundleOption) | 支持 | 支持 | 支持 | 支持 |
| Notification.remove(bundle: BundleOption, notificationKey: NotificationKey, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.remove(bundle: BundleOption, notificationKey: NotificationKey) | 支持 | 支持 | 支持 | 支持 |
| Notification.remove(hashCode: string, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.remove(hashCode: string) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAll(bundle: BundleOption, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAll(callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAll(bundle?: BundleOption) | 支持 | 支持 | 支持 | 支持 |
| Notification.getAllActiveNotifications(callback: AsyncCallback
<Array
<
NotificationRequest
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getAllActiveNotifications() | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotificationCount(callback: AsyncCallback
<number>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotificationCount() | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotifications(callback: AsyncCallback
<Array
<
NotificationRequest
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotifications() | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback
<WantAgent>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWantAgent(info: WantAgentInfo): Promise
<WantAgent>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback
<string>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getBundleName(agent: WantAgent): Promise
<string>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.getUid(agent: WantAgent, callback: AsyncCallback
<number>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getUid(agent: WantAgent): Promise
<number>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWant(agent: WantAgent, callback: AsyncCallback
<Want>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWant(agent: WantAgent): Promise
<Want>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.cancel(agent: WantAgent, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.cancel(agent: WantAgent): Promise
<void>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback
<CompleteData>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback
<boolean>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise
<boolean>
| 支持 | 支持 | 支持 | 支持 |
#### 权限列表
无
#### 通知接口
#### 导入模块
```
js
import
notify
from
'
@ohos.notification
'
;
```
#### Notification.publish(request: NotificationRequest, callback: AsyncCallback<void>)
-
接口说明
发布通知(callback形式)
-
publish参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ------------------------------------------- |
| request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 被指定的回调方法 |
-
NotificationRequest类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------------- | -------- | ------------------------------- | ---- | -------------------------- |
| content | 读、写 | NotificationContent | 是 | 通知内容 |
| id | 读、写 | number | 否 | 通知ID |
| slotType | 读、写 | SlotType | 否 | 通道类型 |
| isOngoing | 读、写 | boolean | 否 | 是否进行时通知 |
| isUnremovable | 读、写 | boolean | 否 | 是否可移除 |
| deliveryTime | 读、写 | number | 否 | 通知发送时间 |
| tapDismissed | 读、写 | boolean | 否 | 通知是否自动清除 |
| autoDeletedTime | 读、写 | number | 否 | 自动清除的时间 |
| wantAgent | 读、写 | WantAgent | 否 | 点击跳转的WantAgent |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 扩展参数 |
| color | 读、写 | number | 否 | 通知背景颜色 |
| colorEnabled | 读、写 | boolean | 否 | 通知背景颜色是否使能 |
| isAlertOnce | 读、写 | boolean | 否 | 设置是否仅有一次此通知警报 |
| isStopwatch | 读、写 | boolean | 否 | 是否显示已用时间 |
| isCountDown | 读、写 | boolean | 否 | 是否显示倒计时时间 |
| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 |
| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 |
| label | 读、写 | string | 否 | 通知标签 |
| badgeIconStyle | 读、写 | number | 否 | 通知角标类型 |
| showDeliveryTime | 读、写 | boolean | 否 | 是否显示分发时间 |
| actionButtons | 读、写 | Array
<NotificationActionButton>
| 否 | 通知按钮,最多两个按钮 |
| smallIcon | 读、写 | PixelMap | 否 | 通知小图标 |
| largeIcon | 读、写 | PixelMap | 否 | 通知大图标 |
| creatorBundleName | 只读 | string | 否 | 创建通知的包名 |
| creatorUid | 只读 | number | 否 | 创建通知的UID |
| creatorPid | 只读 | number | 否 | 创建通知的PID |
| hashCode | 只读 | string | 否 | 通知唯一标识 |
| classification | 读、写 | string | 否 | 通知分类 |
NotificationContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ---------------------------- | ---- | -------------- |
| contentType | 读、写 | ContentType | 是 | 通知内容类型 |
| normal | 读、写 | NotificationBasicContent | 否 | 通知基本内容 |
| longText | 读、写 | NotificationLongTextContent | 否 | 通知长文本内容 |
| multiLine | 读、写 | NotificationMultiLineContent | 否 | 通知多行内容 |
-
ContentType类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| --------------------------------- | -------- | ----------- | ---------------- |
| NOTIFICATION_CONTENT_BASIC_TEXT | 只读 | ContentType | 普通类型通知 |
| NOTIFICATION_CONTENT_LONG_TEXT | 只读 | ContentType | 长文本类型通知 |
| NOTIFICATION_CONTENT_PICTURE | 只读 | ContentType | 图片类型通知 |
| NOTIFICATION_CONTENT_CONVERSATION | 只读 | ContentType | 社交类型通知 |
| NOTIFICATION_CONTENT_MULTILINE | 只读 | ContentType | 多行文本类型通知 |
-
NotificationBasicContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------ | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
-
NotificationLongTextContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------ | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| longText | 读、写 | string | 是 | 通知的长文本 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| expandedTitle | 读、写 | string | 是 | 通知展开时的标题 |
-
NotificationMultiLineContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------------- | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| longTitle | 读、写 | string | 是 | 通知展开时的标题 |
| lines | 读、写 | Array
<String>
| 是 | 通知的多行文本 |
-
NotificationPictureContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | -------------- | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| expandedTitle | 读、写 | string | 是 | 通知展开时的标题 |
| picture | 读、写 | image.PixelMap | 是 | 通知的图片内容 |
-
NotificationActionButton类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | -------------- | ---- | ------------------------- |
| title | 读、写 | string | 是 | 按钮标题 |
| wantAgent | 读、写 | wantAgent | 是 | 点击按钮时触发的WantAgent |
| extras | 读、写 | Array
<String>
| 否 | 按钮扩展信息 |
| icon | 读、写 | image.PixelMap | 否 | 按钮图标 |
-
返回值为void
-
示例
```
js
//publish回调
function
publishCallback
(
err
)
{
console
.
info
(
"
==========================>publishCallback=======================>
"
);
}
//通知Request对象
var
notificationRequest
=
{
id
:
1
,
content
:
{
contentType
:
notify
.
ContentType
.
NOTIFICATION_CONTENT_BASIC_TEXT
,
normal
:
{
title
:
"
test_title
"
,
text
:
"
test_text
"
,
additionalText
:
"
test_additionalText
"
}
}
}
Notification
.
publish
(
notificationRequest
,
publishCallback
)
```
#### Notification.publish(request: NotificationRequest)
-
接口说明
发布通知(Promise形式)
-
返回值为Promise
<
**void**
>
-
示例
```
js
//通知Request对象
var
notificationRequest
=
{
notificationId
:
1
,
content
:
{
contentType
:
notify
.
ContentType
.
NOTIFICATION_CONTENT_BASIC_TEXT
,
normal
:
{
title
:
"
test_title
"
,
text
:
"
test_text
"
,
additionalText
:
"
test_additionalText
"
}
}
}
Notification
.
publish
(
notificationRequest
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>publishCallback=======================>
"
);
});
```
#### Notification.cancel(id: number, label: string, callback: AsyncCallback<void>)
-
接口说明
取消与指定id和label相匹配的已发布通知(callback形式)
-
cancel参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| id | 只读 | number | 是 | 通知ID |
| lable | 只读 | string | 是 | 通知标签 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//cancel回调
function
cancelCallback
(
err
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
Notification
.
cancel
(
0
,
"
label
"
,
cancelCallback
)
```
#### Notification.cancel(id:number, label?:string)
-
接口说明
取消与指定id相匹配的已发布通知,label可以指定也可以不指定(Promise形式)
-
cancel参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | ------ | ---- | -------- |
| id | 只读 | number | 是 | 通知ID |
| lable | 只读 | string | 是 | 通知标签 |
-
返回值为Promise
<
**void**
>
-
示例
```
js
Notification
.
cancel
(
0
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
});
```
#### Notification.cancel(id: number, callback: AsyncCallback<void>)
-
接口说明
取消与指定id相匹配的已发布通知(callback形式)
-
cancel参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| id | 只读 | number | 是 | 通知ID |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//cancel回调
function
cancelCallback
(
err
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
Notification
.
cancel
(
0
,
cancelCallback
)
```
#### Notification.cancelAll(callback: AsyncCallback<void>)
-
接口说明
取消所有已发布的通知(callback形式)
-
cancelAll参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//cancel回调
function
cancelAllback
(
err
)
{
console
.
info
(
"
==========================>cancelAllback=======================>
"
);
}
Notification
.
cancelAll
(
cancelCallback
)
```
#### Notification.cancelAll()
-
接口说明
取消所有已发布的通知(callback形式)
-
参数描述
无参数
-
返回值为void
-
示例
```
js
Notification
.
cancelAll
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>cancelAllback=======================>
"
);
});
```
#### Notification.addSlot(type: SlotType, callback: AsyncCallback<void>)
-
接口说明
创建通知通道(callback形式)
-
addSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ---------------------- |
| type | 只读 | SlotType | 是 | 要创建的通知通道的类型 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
SlotType类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------------- | -------- | -------- | ---- | -------- |
| SOCIAL_COMMUNICATION | 只读 | SlotType | 否 | 社交类型 |
| SERVICE_INFORMATION | 只读 | SlotType | 否 | 服务类型 |
| CONTENT_INFORMATION | 只读 | SlotType | 否 | 内容类型 |
| OTHER_TYPES | 只读 | SlotType | 否 | 其他类型 |
*
返回值为void
*
示例
```
js
//addslot回调
function
addSlotCallBack
(
err
)
{
console
.
info
(
"
==========================>addSlotCallBack=======================>
"
);
}
Notification
.
addSlot
(
SOCIAL_COMMUNICATION
,
addSlotCallBack
)
```
#### Notification.addSlot(type: SlotType)
-
接口说明
创建通知通道(Promise形式)
-
addSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | -------- | ---- | ---------------------- |
| type | 只读 | SlotType | 是 | 要创建的通知通道的类型 |
-
返回值为Promise
<
**void**
>
-
示例
```
js
Notification
.
addSlot
(
SOCIAL_COMMUNICATION
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>addSlotCallback=======================>
"
);
});
```
#### Notification.getSlot(slotType: SlotType, callback: AsyncCallback<NotificationSlot>)
-
接口说明
获取一个通知通道(callback形式)
-
getSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------------- | ---- | ----------------------------------------------------------- |
| slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
| callback | 只读 | AsyncCallback
<NotificationSlot>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//getSlot回调
function
getSlotCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getSlotCallback=======================>
"
);
}
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
getSlot
(
slotType
,
getSlotCallback
)
```
#### Notification.getSlot(slotType)
-
接口说明
获取一个通知通道(Promise形式)
*
getSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
| slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
*
返回值为Promise
<NotificationSlot>
*
示例
```
js
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
getSlot
(
slotType
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getSlotCallback=======================>
"
);
```
#### Notification.getSlots(callback: AsyncCallback<Array<NotificationSlot>>)
-
接口说明
获取此应用程序的所有通知通道(callback形式)
-
getSlots参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<NotificationSlot>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//getSlots回调
function
getSlotsCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getSlotsCallback=======================>
"
);
}
Notification
.
getSlots
(
getSlotsCallback
)
```
#### Notification.getSlots()
-
接口说明
获取此应用程序的所有通知通道(Promise形式)
-
getSlots参数描述
无参数
-
返回值为Promise
<Array
<
NotificationSlot
>
>
-
示例
```
js
Notification
.
getSlots
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getSlotsCallback=======================>
"
);
```
#### Notification.removeSlot(slotType: SlotType, callback: AsyncCallback<void>)
-
接口说明
根据通知通道类型删除创建的通知通道(callback形式)
-
removeSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ----------------------------------------------------------- |
| SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
//removeSlot回调
function
removeSlotCallback
(
err
)
{
console
.
info
(
"
==========================>removeSlotCallback=======================>
"
);
}
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
removeSlot
(
slotType
,
removeSlotCallback
)
```
#### Notification.removeSlot(slotType: SlotType)
-
接口说明
根据通知通道类型删除创建的通知通道(Promise形式)
-
removeSlot参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
| SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
-
返回值为Promise
<
**void**
>
-
示例
```
js
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
removeSlot
(
slotType
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>removeSlotCallback=======================>
"
);
```
#### Notification.removeAllSlots(callback: AsyncCallback<void>)
-
接口说明
删除所有通知通道(callback形式)
-
removeAllSlots参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值为void
-
示例
```
js
function
removeAllCallBack
(
err
)
{
console
.
info
(
"
================>removeAllCallBack=======================>
"
);
}
Notification
.
removeAllSlots
(
removeAllCallBack
)
```
#### Notification.removeAllSlots()
-
接口说明
删除所有通知通道(Promise形式)
-
removeAllSlots参数描述
参数无
-
返回值为Promise
<
**void**
>
-
示例
```
js
Notification
.
removeAllSlots
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>removeAllCallBack=======================>
"
);
});
```
#### Notification.getAllActiveNotifications(callback: AsyncCallback<Array<NotificationRequest>>)
-
接口说明
获取活动通知(Callback形式)
-
getAllActiveNotifications参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ----------------------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<Array
<
NotificationRequest
>
> | 是 | 获取活动通知回调函数 |
-
返回值为void
-
示例
```
js
function
getAllActiveNotificationsCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getAllActiveNotificationsCallback=======================>
"
);
}
Notification
.
getAllActiveNotifications
(
getAllActiveNotificationsCallback
);
```
#### Notification.getAllActiveNotifications()
-
接口说明
获取活动通知(Promise形式)
-
getAllActiveNotifications参数描述
无
-
返回值为Promise
<Array
<
NotificationRequest
>
>
-
示例
```
js
Notification
.
getAllActiveNotifications
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getAllActiveNotificationsCallback=======================>
"
);
});
```
#### Notification.getActiveNotificationCount(callback: AsyncCallback<**number**>)
-
接口说明
获取当前应用的活动通知数(Callback形式)
-
getActiveNotificationCount参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------- | ---- | ---------------------- |
| callback | 只读 | AsyncCallback
<
**number**
>
| 是 | 获取活动通知数回调函数 |
-
返回值为void
-
示例
```
js
function
getActiveNotificationCountCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getActiveNotificationCountCallback=======================>
"
);
}
Notification
.
getActiveNotificationCount
(
getActiveNotificationCountCallback
);
```
#### Notification.getActiveNotificationCount()
-
接口说明
获取当前应用的活动通知数(Promise形式)
-
getActiveNotificationCount参数描述
无
-
返回值为Promise
<
**number**
>
-
示例
```
js
Notification
.
getActiveNotificationCount
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getActiveNotificationCountCallback=======================>
"
);
});
```
#### Notification.getActiveNotifications(callback: AsyncCallback<Array<NotificationRequest>>)
-
接口说明
获取当前应用的活动通知(Callback形式)
-
getActiveNotifications参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ----------------------------------------- | ---- | ------------------------------ |
| callback | 只读 | AsyncCallback
<Array
<
NotificationRequest
>
> | 是 | 获取当前应用的活动通知回调函数 |
-
返回值为void
-
示例
```
js
function
getActiveNotificationsCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getActiveNotificationsCallback=======================>
"
);
}
Notification
.
getActiveNotifications
(
getActiveNotificationsCallback
);
```
#### Notification.getActiveNotifications()
-
接口说明
获取当前应用的活动通知(Promise形式)
-
getActiveNotifications参数描述
无
-
返回值为Promise
<Array
<
NotificationRequest
>
>
-
示例
```
js
Notification
.
getActiveNotifications
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getActiveNotificationsCallback=======================>
"
);
});
```
#### WantAgent接口
#### 导入模块
```
js
import
WantAgent
from
'
@ohos.wantAgent
'
;
```
#### WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback<WantAgent>)
-
接口说明
创建WantAgent(callback形式)
-
getWantAgent参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------ | ---- | ----------------------- |
| info | 只读 | WantAgentInfo | 是 | WantAgent信息 |
| callback | 只读 | AsyncCallback
<WantAgent>
| 是 | 创建WantAgent的回调方法 |
-
WantAgentInfo类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------------------------------- | ---- | ---------------------- |
| wants | 读、写 | Array
<Want>
| 是 | 将被执行的动作列表 |
| operationType | 读、写 | wantAgent.OperationType | 是 | 动作类型 |
| requestCode | 读、写 | number | 是 | 使用者定义的一个私有值 |
| wantAgentFlags | 读、写 | Array
<wantAgent.WantAgentFlags>
| 否 | 动作执行属性 |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 额外数据 |
-
WantAgentFlags类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
| ONE_TIME_FLAG | 只读 | enum | 否 | WantAgent仅能使用一次 |
| NO_BUILD_FLAG | 只读 | enum | 否 | 如果描述WantAgent对象不存在,则不创建它,直接返回null |
| CANCEL_PRESENT_FLAG | 只读 | enum | 否 | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象 |
| UPDATE_PRESENT_FLAG | 只读 | enum | 否 | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据 |
| CONSTANT_FLAG | 只读 | enum | 否 | WantAgent是不可变的 |
| REPLACE_ELEMENT | 只读 | enum | 否 | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 |
| REPLACE_ACTION | 只读 | enum | 否 | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 |
| REPLACE_URI | 只读 | enum | 否 | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 |
| REPLACE_ENTITIES | 只读 | enum | 否 | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 |
| REPLACE_BUNDLE | 只读 | enum | 否 | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 |
-
OperationType类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------------- | -------- | ---- | ---- | ----------------------- |
| UNKNOWN_TYPE | 只读 | enum | 否 | 不识别的类型 |
| START_ABILITY | 只读 | enum | 否 | 开启一个有页面的Ability |
| START_ABILITIES | 只读 | enum | 否 | 开启多个有页面的Ability |
| START_SERVICE | 只读 | enum | 否 | 开启一个无页面的ability |
| SEND_COMMON_EVENT | 只读 | enum | 否 | 发送一个公共事件 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
```
#### WantAgent.getWantAgent(info: WantAgentInfo): Promise<WantAgent>
-
接口说明
创建WantAgent(Promise形式)
-
getWantAgent参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------------- | ---- | ------------- |
| info | 只读 | WantAgentInfo | 是 | WantAgent信息 |
-
返回值为Promise
<WantAgent>
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
});
```
#### WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback<string>)
-
接口说明
获取WantAgent实例的包名(callback形式)
-
getBundleName参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------- | ---- | --------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<string>
| 是 | 获取WantAgent实例的包名的回调方法 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//getBundleName回调
function
getBundleNameCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getBundleNameCallback=======================>
"
);
}
wantAgent
.
getBundleName
(
WantAgent
,
getBundleNameCallback
)
```
#### WantAgent.getBundleName(agent: WantAgent): Promise<string>
-
接口说明
获取WantAgent实例的包名(Promise形式)
-
getBundleName参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值为Promise
<string>
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
getBundleName
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getBundleNameCallback=======================>
"
);
});
```
#### WantAgent.getUid(agent: WantAgent, callback: AsyncCallback<number>)
-
接口说明
获取WantAgent实例的用户ID(callback形式)
-
getUid参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------- | ---- | ----------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<number>
| 是 | 获取WantAgent实例的用户ID的回调方法 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//getUid回调
function
getUidCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getUidCallback=======================>
"
);
}
wantAgent
.
getUid
(
WantAgent
,
getUidCallback
)
```
#### WantAgent.getUid(agent: WantAgent): Promise<number>
-
接口说明
获取WantAgent实例的用户ID(Promise形式)
-
getUid参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值为Promise
<number>
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
getUid
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getUidCallback=======================>
"
);
});
```
#### WantAgent.cancel(agent: WantAgent, callback: AsyncCallback<void>)
-
接口说明
取消WantAgent实例(callback形式)
-
cancel参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | --------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 取消WantAgent实例的回调方法 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
cancelCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
wantAgent
.
cancel
(
WantAgent
,
cancelCallback
)
```
#### WantAgent.cancel(agent: WantAgent): Promise<void>
-
接口说明
取消WantAgent实例(Promise形式)
-
cancel参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值为Promise
<void>
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
cancel
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
});
```
#### WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback<CompleteData>)
-
接口说明
主动激发WantAgent实例(callback形式)
-
trigger参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | --------------------------- | ---- | ------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| triggerInfo | 只读 | TriggerInfo | 是 | TriggerInfo对象 |
| callback | 只读 | AsyncCallback
<CompleteData>
| 是 | 主动激发WantAgent实例的回调方法 |
-
TriggerInfo类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------- | ---- | ----------- |
| code | 读、写 | number | 是 | result code |
| want | 读、写 | Want | 否 | Want |
| permission | 读、写 | string | 否 | 权限定义 |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 额外数据 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
triggerCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>triggerCallback=======================>
"
);
}
wantAgent
.
trigger
(
WantAgent
,
triggerCallback
)
```
#### WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback<boolean>)
-
接口说明
判断两个WantAgent实例是否相等(callback形式)
-
equal参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ---------------------- | ---- | --------------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| otherAgent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<boolean>
| 是 | 判断两个WantAgent实例是否相等的回调方法 |
-
返回值为void
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent1
;
var
WantAgent2
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent1
=
data
;
WantAgent2
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
equalCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>equalCallback=======================>
"
);
}
wantAgent
.
equal
(
WantAgent1
,
WantAgent1
,
equalCallback
)
```
#### WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise<boolean>
-
接口说明
判断两个WantAgent实例是否相等(Promise形式)
-
equal参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| otherAgent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值为Promise
<boolean>
-
示例
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent1
;
var
WantAgent2
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
equal
(
WantAgent1
,
WantAgent2
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>equalCallback=======================>
"
);
});
```
####
zh-cn/application-dev/js-reference/ParticleAbility.md
0 → 100644
浏览文件 @
7b4a5b21
### ParticleAbility模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
| ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback
\<
void> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| ParticleAbility.startAbility(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| ParticleAbility.terminateSelf(callback: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| ParticleAbility.terminateSelf() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| ParticleAbility.acquireDataAbilityHelper(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
ohos.permission.RUNNING_LOCK permission
#### 使用限制
ParticleAbility模块的接口只能在Ability为Data和Service类型的时候进行调用
#### 导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
```
#### ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\<void>
-
接口说明
服务ability使用此方法启动特定ability(callback形式)
-
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | --------------------- | ---- | ----------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 指示启动的ability |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 被指定的回调方法 |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
-
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
-
返回值
void
-
示例
```
js
import
particleAbility
from
'
@ohos.ability.particleAbility
'
particleAbility
.
startAbility
(
{
want
:
{
action
:
"
action.system.home
"
,
entities
:
[
"
entity.system.home
"
],
type
:
"
MIMETYPE
"
,
flags
:
FLAG_AUTH_READ_URI_PERMISSION
;
deviceId
:
""
,
bundleName
:
"
com.example.Data
"
,
abilityName
:
"
com.jstest.startabilitytest5.MainAbility
"
,
uri
:
""
},
},
)
```
#### ParticleAbility.startAbility(parameter: StartAbilityParameter)
-
接口说明
服务ability使用此方法启动特定ability((Promise形式)
-
startAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | --------------------- | ---- | ----------------- |
| parameter | 只读 | StartAbilityParameter | 是 | 指示启动的ability |
-
StartAbilityParameter类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------ | ---- | ---------------------------------- |
| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 |
| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 |
-
want类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ------ | ---- | -------------------------- |
| deviceId | 只读 | string | 否 | 设备id |
| bundleName | 只读 | string | 否 | 捆绑包名称 |
| abilityName | 只读 | string | 否 | ability 名字 |
| uri | 只读 | string | 否 | 请求中URI的描述 |
| type | 只读 | string | 否 | 此文件中类型的说明 |
| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 |
| action | 只读 | string | 否 | 需求中对操作的描述 |
| parameters | 只读 | string | 否 | Want中WantParams对象的描述 |
| entities | 只读 | string | 否 | 对象中实体的描述 |
-
flags类型说明
| 名称 | 参数 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 |
| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 |
| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 |
| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 |
| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS |
| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
particleAbility
from
'
@ohos.ability.particleAbility
'
var
windowMode
=
featureAbility
.
AbilityStartSetting
.
WINDOW_MODE_KEY
;
particleAbility
.
startAbility
(
want
:
{
bundleName
:
"
com.jstest.featureabilitytest
"
,
abilityName
:
"
com.jstest.startabilitytest1.MainAbility
"
,
},
abilityStartSetting
:
{
windowMode
:
featureAbility
.
AbilityWindowConfiguration
.
WINDOW_MODE_FLOATING
,
},
}
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>startAbilityCallback=======================>
"
);
});
```
#### ParticleAbility.terminateSelf(callback: AsyncCallback\<void>)
-
接口说明
摧毁服务ability(callback形式)
-
terminateSelf参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例
```
js
import
particleAbility
from
'
@ohos.ability.particleAbility
'
ParticleAbility
.
terminateSelf
()
```
#### ParticleAbility.terminateSelf()
-
接口说明
摧毁服务ability(Promise形式)
-
返回值
void
-
示例
```
js
import
particleAbility
from
'
@ohos.ability.particleAbility
'
particleAbility
.
terminateSelf
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>terminateSelfCallback=======================>
"
);
});
```
#### ParticleAbility.acquireDataAbilityHelper(uri: string)
-
接口说明
获取dataAbilityHelper
-
acquireDataAbilityHelper参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| :--- | -------- | ------ | ---- | ---------------------- |
| uri | 只读 | string | 是 | 指示要打开的文件的路径 |
-
返回值
返回dataAbilityHelper
-
示例
```
js
import
particleAbility
from
'
@ohos.ability.particleAbility
'
var
uri
=
""
;
ParticleAbility
.
acquireDataAbilityHelper
(
uri
)
```
#### ParticleAbility.connectAbility(*request*: Want, *options*:ConnectOptions): number
*
接口说明
将当前ability连接到指定ServiceAbility(callback形式)
*
connectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------- | -------- | -------------- | ---- | -------------------------- |
| request | 只读 | Want | 是 | 表示被连接的ServiceAbility |
| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 |
-
ConnectOptions类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | -------- | ---- | ---------------------------------- |
| onConnect | 只读 | function | 是 | 连接成功时的回调函数 |
| onDisconnect | 只读 | function | 是 | 连接失败时的回调函数 |
| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 |
*
返回值
连接的ServiceAbilityID。
*
示例
```
javascript
import
particleAbility
from
'
@ohos.ability.particleAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
particleAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
particleAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
```
#### ParticleAbility.disconnectAbility(connection: number, callback:AsyncCallback<void>): void
*
接口说明
断开与指定ServiceAbility的连接(callback形式)
*
disconnectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------------- | ---- | ------------------------------ |
| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID |
| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 |
*
返回值
无
*
示例
```
javascript
import
particleAbility
from
'
@ohos.ability.particleAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
particleAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
particleAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
var
result
=
particleAbility
.
disconnectAbility
(
connId
,
(
error
,
data
)
=>
{
console
.
log
(
'
particleAbilityTest DisConnectJsSameBundleName result errCode :
'
+
error
.
code
+
"
data:
"
+
data
)
},
);
```
#### ParticleAbility.disconnectAbility(connection: number): Promise<void>;
*
接口说明
断开与指定ServiceAbility的连接(promise形式)
*
disconnectAbility参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------ | ---- | ------------------------------ |
| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID |
*
返回值
无
*
示例
```
javascript
import
particleAbility
from
'
@ohos.ability.particleAbility
'
var
mRemote
;
var
connId
;
function
onConnectCallback
(
element
,
remote
){
mRemote
=
remote
;
console
.
log
(
'
ConnectAbility onConnect remote is proxy:
'
+
(
remote
instanceof
rpc
.
RemoteProxy
));
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect element.deviceId :
'
+
element
.
deviceId
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
particleAbilityTest ConnectAbility onFailed errCode :
'
+
code
)
}
var
connId
=
particleAbility
.
connectAbility
(
{
bundleName
:
"
com.ix.ServiceAbility
"
,
abilityName
:
"
ServiceAbilityA
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
var
result
=
await
particleAbility
.
disconnectAbility
(
connId
);
```
zh-cn/application-dev/js-reference/dataAbilityHelper.md
0 → 100644
浏览文件 @
7b4a5b21
### DataAbilityHelper模块(JS端SDK接口)
#### 支持设备
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
| DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.openFile(uri: string, mode: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback
<Array
\<
string
>
>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.getType(uri: string, callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.getType(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.normalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback
\<
string>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.denormalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback
\<
void>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.notifyChange(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array
<rdb.ValuesBucket>
, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array
<rdb.ValuesBucket>
) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback
\<
number>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.query(uri: string, columns: Array
\<
string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback
\<
ResultSet>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| DataAbilityHelper.query(uri: string, columns: Array
\<
string>, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
#### 权限列表
ohos.permission.RUNNING_LOCK permission
#### 导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
import ohos_data_rdb from '@ohos.data.rdb'
```
#### DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback\<number>)
-
接口说明
在指定的远程路径中打开文件(callback形式)
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要打开的文件的路径。 |
| mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 被指定的回调方法 |
*
返回值
返回文件描述符。
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
mode
=
"
rwt
"
;
DAHelper
.
openFile
(
"
dataability:///com.example.DataAbility
"
,
mode
,
)
```
#### DataAbilityHelper.openFile(uri: string, mode: string)
-
接口说明
在指定的远程路径中打开文件(Promise形式)
*
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要打开的文件的路径。 |
| mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 |
*
返回值
返回文件描述符。
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
mode
=
"
rwt
"
;
DAHelper
.
openFile
(
"
dataability:///com.example.DataAbility
"
,
mode
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>openFileCallback=======================>
"
);
});
```
#### DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>)
-
接口说明
注册观察者以观察给定uri指定的数据(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ------------------------ |
| type | 只读 | string | 是 | 数据更改。 |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 指示数据更改时的回调。 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
helper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
helper
.
on
(
"
dataChange
"
,
"
dataability:///com.example.DataAbility
"
,
)
```
#### DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>)
-
接口说明
注册观察者以观察给定uri指定的数据(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ------------------------ |
| type | 只读 | string | 是 | 数据更改。 |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
| callback | 只读 | AsyncCallback
\<
void> | 否 | 指示已注册的回调。 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
helper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
helper
.
off
(
"
dataChange
"
,
"
dataability:///com.example.DataAbility
"
,
)
```
#### DataAbilityHelper.getType(uri: string, callback: AsyncCallback\<string>)
-
接口说明
获取给定URI指定的日期的MIME类型(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 回调方法 |
-
返回值
返回与uri指定的数据匹配的MIME类型。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
getType
(
"
dataability:///com.example.DataAbility
"
)
```
#### DataAbilityHelper.getType(uri: string)
-
接口说明
获取给定URI指定的日期的MIME类型(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
-
返回值
返回与uri指定的数据匹配的MIME类型。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
getType
(
"
dataability:///com.example.DataAbility
"
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>getTypeCallback=======================>
"
);
});
```
#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>)
-
接口说明
获取支持的文件的MIME类型(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ---------------------- | ---- | ---------------------------- |
| uri | 只读 | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 回调方法 |
-
返回值
返回匹配的MIME类型数组。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
getFileTypes
(
"
dataability:///com.example.DataAbility
"
,
"
image/*
"
)
```
#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string)
-
接口说明
获取支持的文件的MIME类型(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------ | ---- | ---------------------------- |
| uri | 只读 | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 |
-
返回值
返回匹配的MIME类型数组。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
getFileTypes
(
"
dataability:///com.example.DataAbility
"
,
"
image/*
"
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>getFileTypesCallback=======================>
"
);
});
```
#### DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback\<string>)
-
接口说明
将引用数据功能的给定uri转换为规范化uri(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | ----------------------- |
| uri | 只读 | string | 是 | 指示要规范化的uri对象。 |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 回调方法 |
-
返回值
如果数据功能支持uri规范化或null,则返回规范化uri对象。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
normalizeUri
(
"
dataability:///com.example.DataAbility
"
,
)
```
#### DataAbilityHelper.normalizeUri(uri: string)
-
接口说明
将引用数据功能的给定uri转换为规范化uri(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ----------------------- |
| uri | 只读 | string | 是 | 指示要规范化的uri对象。 |
-
返回值
如果数据功能支持uri规范化或null,则返回规范化uri对象。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
normalizeUri
(
"
dataability:///com.example.DataAbility
"
,
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>normalizeUriCallback=======================>
"
);
});
```
#### DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback\<string>)
-
接口说明
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | ----------------------- |
| uri | 只读 | string | 是 | 指示要规范化的uri对象。 |
| callback | 只读 | AsyncCallback
\<
string> | 是 | 回调方法 |
-
返回值
如果反规范化成功,则返回反规范化uri对象。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
denormalizeUri
(
"
dataability:///com.example.DataAbility
"
,
)
```
#### DataAbilityHelper.denormalizeUri(uri: string)
-
接口说明
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ----------------------- |
| uri | 只读 | string | 是 | 指示要规范化的uri对象。 |
-
返回值
如果反规范化成功,则返回反规范化uri对象。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
denormalizeUri
(
"
dataability:///com.example.DataAbility
"
,
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>denormalizeUriCallback=======================>
"
);
});
```
#### DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback\<void>)
-
接口说明
通知已注册的观察者uri指定的数据资源的更改(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------------------- | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
| callback | 只读 | AsyncCallback
\<
void> | 是 | 回调方法 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
helper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
helper
.
notifyChange
(
"
dataability:///com.example.DataAbility
"
,
)
```
#### DataAbilityHelper.notifyChange(uri: string)
-
接口说明
通知已注册的观察者uri指定的数据资源的更改(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------ | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要操作的数据的路径。 |
-
返回值
void
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
DAHelper
.
notifyChange
(
"
dataability:///com.example.DataAbility
"
,
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>notifyChangeCallback=======================>
"
);
});
```
#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>)
-
接口说明
将单个数据记录插入数据库(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | ---------------------- | ---- | ------------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 回调方法 |
-
返回值
返回插入数据记录的索引。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
const
valueBucket
=
{
"
name
"
:
"
rose
"
,
"
age
"
:
22
,
"
salary
"
:
200.5
,
"
blobType
"
:
u8
,
}
DAHelper
.
insert
(
"
dataability:///com.example.DataAbility
"
,
valueBucket
)
```
#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket)
-
接口说明
将单个数据记录插入数据库(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | ---------------- | ---- | ------------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
-
返回值
返回插入数据记录的索引。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
const
valueBucket
=
{
"
name
"
:
"
rose1
"
,
"
age
"
:
221
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,
}
DAHelper
.
insert
(
"
dataability:///com.example.DataAbility
"
,
valueBucket
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>insertCallback=======================>
"
);
});
```
#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>, callback: AsyncCallback\<number>)
-
接口说明
将多个数据记录插入数据库(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | ----------------------- | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | 只读 | Array
<rdb.ValuesBucket>
| 是 | 指示要插入的数据记录。 |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 回调方法 |
-
返回值
返回插入的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
cars
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,},
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,})
DAHelper
.
batchInsert
(
"
dataability:///com.example.DataAbility
"
,
cars
)
```
#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>)
-
接口说明
将多个数据记录插入数据库(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | ----------------------- | ---- | ------------------------ |
| uri | 只读 | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | 只读 | Array
<rdb.ValuesBucket>
| 是 | 指示要插入的数据记录。 |
-
返回值
返回插入的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
cars
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,},
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,})
DAHelper
.
batchInsert
(
"
dataability:///com.example.DataAbility
"
,
cars
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>batchInsertCallback=======================>
"
);
});
```
#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>)
-
接口说明
从数据库中删除一个或多个数据记录(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要删除的数据的路径。 |
| valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 回调方法 |
-
返回值
返回已删除的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
ohos_data_ability
from
'
@ohos.data.dataability
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
delete
(
"
dataability:///com.example.DataAbility
"
,
da
)
```
#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates)
-
接口说明
从数据库中删除一个或多个数据记录(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要删除的数据的路径。 |
| valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
-
返回值
返回已删除的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
delete
(
"
dataability:///com.example.DataAbility
"
,
da
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>deleteCallback=======================>
"
);
});
```
#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>)
-
接口说明
更新数据库中的数据记录(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要更新的数据的路径。 |
| valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 |
| predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | 只读 | AsyncCallback
\<
number> | 是 | 回调方法 |
-
返回值
返回更新的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
ohos_data_ability
from
'
@ohos.data.dataability
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
const
va
=
{
"
name
"
:
"
roe1
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,
}
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
update
(
"
dataability:///com.example.DataAbility
"
,
va
,
da
)
```
#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates)
-
接口说明
更新数据库中的数据记录(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要更新的数据的路径。 |
| valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 |
| predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
-
返回值
返回更新的数据记录数。
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
ohos_data_ability
from
'
@ohos.data.dataability
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
const
va
=
{
"
name
"
:
"
roe1
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
"
blobType
"
:
u8
,
}
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
update
(
"
dataability:///com.example.DataAbility
"
,
va
,
da
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>updateCallback=======================>
"
);
});
```
#### DataAbilityHelper.query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>)
-
接口说明
查询数据库中的数据(callback形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 只读 | string | 是 | 指示要查询的数据的路径。 |
| columns | 只读 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | 只读 | AsyncCallback
\<
ResultSet> | 是 | 回调方法 |
-
返回值
返回查询结果
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
ohos_data_ability
from
'
@ohos.data.dataability
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
cars
=
new
Array
({
"
value1
"
},
{
"
value2
"
},
{
"
value3
"
},
{
"
value4
"
});
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
query
(
"
dataability:///com.example.DataAbility
"
,
cars
,
da
)
```
#### DataAbilityHelper.query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates)
-
接口说明
查询数据库中的数据(Promise形式)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | 读写 | string | 是 | 指示要查询的数据的路径。 |
| columns | 读写 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| predicates | 读写 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
-
返回值
返回查询结果
-
示例
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
import
ohos_data_ability
from
'
@ohos.data.dataability
'
var
DAHelper
=
await
featureAbility
.
getDataAbilityHelper
(
"
dataability:///com.example.DataAbility
"
);
var
cars
=
new
Array
({
"
value1
"
},
{
"
value2
"
},
{
"
value3
"
},
{
"
value4
"
});
let
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
DAHelper
.
query
(
"
dataability:///com.example.DataAbility
"
,
cars
,
da
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>queryCallback=======================>
"
);
});
```
zh-cn/application-dev/quick-start/CommonEvent开发指南.md
0 → 100644
浏览文件 @
7b4a5b21
CommonEvent开发指南
#### 基本概念
OpenHarmony通过CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力。
公共事件可分为系统公共事件和自定义公共事件。
-
系统公共事件:系统将收集到的事件信息,根据系统策略发送给订阅该事件的用户程序。 例如:系统关键服务发布的系统事件(例如:hap安装,更新,卸载等)。
-
自定义公共事件:应用自定义一些公共事件用来实现跨应用的事件通信能力。
每个应用都可以按需订阅公共事件,订阅成功且公共事件发布,系统会把其发送给应用。这些公共事件可能来自系统、其他应用和应用自身。
#### 接口列表
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- |
| CommonEvent.publish(event: string, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback
<CommonEventSubscriber>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback
<CommonEventData>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 | 不支持 |
#### 导入模块
```
js
import
CommonEvent
from
'
@ohos.commonevent
'
;
```
#### 创建公共事件订阅者
根据开发者设定的公共事件订阅相关信息(比如准备订阅的公共事件集等)创建公共事件订阅者对象。
-
CommonEventSubscribeInfo类型说明
CommonEventSubscribeInfo封装公共事件订阅相关信息,比如准备订阅的公共事件集、发布者必须具备的权限、发布者的设备ID、发布者的用户ID、优先级等。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ |
| events | 只读 | Array
<string>
| 是 | 表示要订阅的公共事件集。 |
| publisherPermission | 只读 | string | 否 | 表示发布者的权限。 |
| publisherDeviceId | 只读 | int | 否 | 表示发布者的设备ID,该值必须是同一ohos网络上的现有设备ID。 |
| userId | 只读 | int | 否 | 表示发布者的用户ID。默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 |
| priority | 只读 | int | 否 | 表示订阅者的优先级,范围为-100~1000,用于有序公共事件。 |
-
CommonEventSubscriber 类说明
CommonEventSubscriber封装公共事件订阅者及相关参数,主要接口如下。
| 名称 | 参数 | 返回值 | 描述 |
| --------------------- | --------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ |
| getCode | callback: AsyncCallback
<number>
| void | 获取公共事件的结果代码(callback形式) |
| getCode | void | Promise
<number>
| 获取公共事件的结果代码(Promise形式) |
| setCode | code: number, callback: AsyncCallback
<void>
| void | 设置有序公共事件的结果代码(callback形式) |
| setCode | code: number | Promise
<void>
| 设置有序公共事件的结果代码(Promise形式) |
| getData | callback: AsyncCallback
<string>
| void | 获取公共事件的结果数据(callback形式) |
| getData | void | Promise
<string>
| 获取公共事件的结果数据(Promise形式) |
| setData | data: string, callback: AsyncCallback
<void>
| void | 设置有序公共事件的结果数据(callback形式) |
| setData | data: string | Promise
<void>
| 设置有序公共事件的结果数据(Promise形式) |
| setCodeAndData | code: number, data: string, callback: AsyncCallback
<void>
| void | 设置有序公共事件的结果代码和结果数据(callback形式) |
| setCodeAndData | code: number, data: string | Promise
<void>
| 设置有序公共事件的结果代码和结果数据(Promise形式) |
| isOrderedCommonEvent | callback: AsyncCallback
<boolean>
| void | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(callback形式) |
| isOrderedCommonEvent | void | Promise
<bool>
| 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(Promise形式) |
| abortCommonEvent | callback: AsyncCallback
<void>
| void | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) |
| abortCommonEvent | void | Promise
<void>
| 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) |
| clearAbortCommonEvent | callback: AsyncCallback
<void>
| void | 清除当前有序公共事件abort状态(callback形式) |
| clearAbortCommonEvent | void | Promise
<void>
| 清除当前有序公共事件abort状态(Promise形式) |
| getAbortCommonEvent | callback: AsyncCallback
<boolean>
| void | 获取当前有序公共事件是否取消的状态(callback形式) |
| getAbortCommonEvent | void | Promise
<boolean>
| 获取当前有序公共事件是否取消的状态Promise形式) |
| getSubscribeInfo | callback: AsyncCallback
<CommonEventSubscribeInfo>
| void | 获取订阅者的订阅信息(callback形式) |
| getSubscribeInfo | void | Promise
<CommonEventSubscribeInfo>
| 获取订阅者的订阅信息(Promise形式) |
-
创建订阅者接口(callback形式)
CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback
<CommonEventSubscriber>
)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ------------------------------------ | ---- | ------------------------ |
| subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示公共事件订阅信息 |
| callback | 只读 | AsyncCallback
<CommonEventSubscriber>
| 是 | 表示创建订阅者的回调方法 |
-
返回值
void
-
示例代码
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
-
创建订阅者接口(Promise形式)
CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ------------------------ | ---- | ------------ |
| subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 |
-
返回值
Promise
<CommonEventSubscriber>
-
示例代码
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>createSubscriberPromise=======================>
"
);
subscriber
=
data
;
});
```
#### 订阅公共事件
订阅公共事件,并指定公共事件订阅者对象和接收公共事件的回调函数。
-
CommonEventData类型说明
CommonEventData封装公共事件相关信息。用于在接收时处理数据。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------- | ---- | ------------------------------------------------------- |
| event | 只读 | string | 是 | 表示当前接收的公共事件名称 |
| bundleName | 只读 | string | 否 | 表示包名称 |
| code | 只读 | int | 否 | 表示公共事件的结果代码,用于传递int类型的数据 |
| data | 只读 | string | 否 | 表示公共事件的自定义结果数据,用于传递string 类型的数据 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
订阅公共事件接口(callback形式)
CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback
<CommonEventData>
)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ------------------------------ | ---- | ------------------------------ |
| subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
| callback | 只读 | AsyncCallback
<CommonEventData>
| 是 | 表示接收公共事件数据的回调函数 |
-
返回值
void
-
示例代码
**无序事件:**
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
**有序事件:**
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//设置有序公共事件的结果代码回调
function
SetCodeCallBack
(
err
)
{
console
.
info
(
"
==========================>SetCodeCallBack=======================>
"
);
}
//设置有序公共事件的结果数据回调
function
SetDataCallBack
(
err
)
{
console
.
info
(
"
==========================>SetDataCallBack=======================>
"
);
}
//完成本次有序公共事件处理回调
function
FinishCommonEventCallBack
(
err
)
{
console
.
info
(
"
==========================>FinishCommonEventCallBack=======================>
"
);
}
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
//设置有序公共事件的结果代码
subscriber
.
setCode
(
0
,
SetCodeCallBack
);
//设置有序公共事件的结果数据
subscriber
.
setData
(
"
publish_data_changed
"
,
SetDataCallBack
);
//完成本次有序公共事件处理
subscriber
.
finishCommonEvent
(
FinishCommonEventCallBack
)
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
```
#### 发布公共事件
发布指定事件名称的公共事件,并可携带事件相关数据、属性、限制等信息。
-
CommonEventPublishData类型说明
CommonEventPublishData封装公共事件发布相关数据、属性及限制等信息,包括公共事件类型(有序或无序)、订阅者所需权限等。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------------------- | -------- | -------------------- | ---- | ---------------------------- |
| bundleName | 只读 | string | 否 | 表示包名称 |
| code | 只读 | int | 否 | 表示公共事件的结果代码 |
| data | 只读 | string | 否 | 表示公共事件的自定义结果数据 |
| subscriberPermissions | 只读 | Array
<string>
| 否 | 表示订阅者所需的权限 |
| isOrdered | 只读 | bool | 否 | 表示是否是有序事件 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
发布公共事件接口(callback形式)
CommonEvent.publish(event: string, callback: AsyncCallback
<void>
)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ------------------------ |
| event | 只读 | string | 是 | 表示要发送的公共事件名称 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//发布公共事件回调
function
PublishCallBack
(
err
)
{
console
.
info
(
"
==========================>PublishCallBack=======================>
"
);
console
.
info
(
"
==========================>err:=======================>
"
,
err
.
code
);
}
//发布公共事件
CommonEvent
.
publish
(
"
publish_event
"
,
PublishCallBack
);
```
-
发布公共事件指定发布信息接口(callback形式)
CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback
<void>
)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ---------------------- | ---- | ------------------------ |
| event | 只读 | string | 是 | 表示要发布的公共事件名称 |
| options | 只读 | CommonEventPublishData | 是 | 表示发布公共事件的属性 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//公共事件相关信息
var
options
=
{
code
:
0
;
//公共事件的初始代码
data
:
"
initial data
"
;
//公共事件的初始数据
isOrdered
:
true
;
//有序公共事件
}
//发布公共事件回调
function
PublishCallBack
(
err
)
{
console
.
info
(
"
==========================>PublishCallBack=======================>
"
);
}
//发布公共事件
CommonEvent
.
publish
(
"
publish_event
"
,
options
,
PublishCallBack
);
```
#### 取消订阅公共事件
-
取消订阅公共事件接口(callback形式)
CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback
<void>
)
-
接口参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------------------- | ---- | ---------------------- |
| subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示取消订阅的回调方法 |
-
返回值
void
-
示例代码
```
js
var
subscriber
;
//用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
//订阅者信息
var
subscribeInfo
=
{
events
:
[
"
event
"
]
};
//订阅公共事件回调
function
SubscribeCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>SubscribeCallBack=======================>
"
);
}
//创建订阅者回调
function
CreateSubscriberCallBack
(
err
,
data
)
{
console
.
info
(
"
==========================>CreateSubscriberCallBack=======================>
"
);
subscriber
=
data
;
//订阅公共事件
CommonEvent
.
subscribe
(
subscriber
,
SubscribeCallBack
);
}
//取消订阅公共事件回调
function
UnsubscribeCallBack
(
err
)
{
console
.
info
(
"
==========================>UnsubscribeCallBack=======================>
"
);
}
//创建订阅者
CommonEvent
.
createSubscriber
(
subscribeInfo
,
CreateSubscriberCallBack
);
//取消订阅公共事件
CommonEvent
.
unsubscribe
(
subscriber
,
UnsubscribeCallBack
);
```
#### 系统公共事件列表
| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 |
| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ |
| COMMON_EVENT_BOOT_COMPLETED | usual.event.BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_LOCKED_BOOT_COMPLETED | usual.event.LOCKED_BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_SHUTDOWN | usual.event.SHUTDOWN | 无 |
| COMMON_EVENT_BATTERY_CHANGED | usual.event.BATTERY_CHANGED | 无 |
| COMMON_EVENT_BATTERY_LOW | usual.event.BATTERY_LOW | 无 |
| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 |
| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 |
| COMMON_EVENT_POWER_DISCONNECTED | usual.event.POWER_DISCONNECTED | 无 |
| COMMON_EVENT_SCREEN_OFF | usual.event.SCREEN_OFF | 无 |
| COMMON_EVENT_SCREEN_ON | usual.event.SCREEN_ON | 无 |
| COMMON_EVENT_USER_PRESENT | usual.event.USER_PRESENT | 无 |
| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 |
| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 |
| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 |
| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 |
| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 |
| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 |
| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 |
| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 |
| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 |
| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 |
| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 |
| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 |
| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 |
| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 |
| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 |
| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 |
| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 |
| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 |
| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 |
| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 |
| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 |
| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 |
| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 |
| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 |
| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 |
| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 |
| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 |
| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 |
| COMMON_EVENT_USER_BACKGROUND | usual.event.USER_BACKGROUND | 无 |
| COMMON_EVENT_USER_FOREGROUND | usual.event.USER_FOREGROUND | 无 |
| COMMON_EVENT_USER_SWITCHED | usual.event.USER_SWITCHED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_STARTING | usual.event.USER_STARTING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_UNLOCKED | usual.event.USER_UNLOCKED | 无 |
| COMMON_EVENT_USER_STOPPING | usual.event.USER_STOPPING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_STOPPED | usual.event.USER_STOPPED | 无 |
| COMMON_EVENT_HWID_LOGIN | common.event.HWID_LOGIN | 无 |
| COMMON_EVENT_HWID_LOGOUT | common.event.HWID_LOGOUT | 无 |
| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 |
| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 |
| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 |
| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION |
| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 |
| COMMON_EVENT_WIFI_HOTSPOT_STATE | usual.event.wifi.HOTSPOT_STATE | 无 |
| COMMON_EVENT_WIFI_AP_STA_JOIN | usual.event.wifi.WIFI_HS_STA_JOIN | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_AP_STA_LEAVE | usual.event.wifi.WIFI_HS_STA_LEAVE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE | usual.event.wifi.mplink.STATE_CHANGE | ohos.permission.MPLINK_CHANGE_STATE |
| COMMON_EVENT_WIFI_P2P_CONN_STATE | usual.event.wifi.p2p.CONN_STATE_CHANGE | ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION |
| COMMON_EVENT_WIFI_P2P_STATE_CHANGED | usual.event.wifi.p2p.STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED | usual.event.wifi.p2p.DEVICES_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED | usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED | usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED | usual.event.wifi.p2p.GROUP_STATE_CHANGED | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.handsfree.ag.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.a2dpsource.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsource.PLAYING_STATE_UPDATE" | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_AVRCP_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.AVRCP_CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CODEC_VALUE_UPDATE | usual.event.bluetooth.a2dpsource.CODEC_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_DISCOVERED | usual.event.bluetooth.remotedevice.DISCOVERED | ohos.permission.USE_BLUETOOTH and ohos.permission.LOCATION |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CLASS_VALUE_UPDATE | usual.event.bluetooth.remotedevice.CLASS_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_CONNECTED | usual.event.bluetooth.remotedevice.ACL_CONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_DISCONNECTED | usual.event.bluetooth.remotedevice.ACL_DISCONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_NAME_UPDATE | usual.event.bluetooth.remotedevice.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIR_STATE | usual.event.bluetooth.remotedevice.PAIR_STATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_BATTERY_VALUE_UPDATE | usual.event.bluetooth.remotedevice.BATTERY_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_SDP_RESULT | usual.event.bluetooth.remotedevice.SDP_RESULT | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_UUID_VALUE | usual.event.bluetooth.remotedevice.UUID_VALUE | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_REQ | usual.event.bluetooth.remotedevice.PAIRING_REQ | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_CANCEL | usual.event.bluetooth.remotedevice.PAIRING_CANCEL | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REQ | usual.event.bluetooth.remotedevice.CONNECT_REQ | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REPLY | usual.event.bluetooth.remotedevice.CONNECT_REPLY | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AUDIO_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_COMMON_EVENT | usual.event.bluetooth.handsfreeunit.AG_COMMON_EVENT | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_CALL_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AG_CALL_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_STATE_UPDATE | usual.event.bluetooth.host.STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISCOVERABLE | usual.event.bluetooth.host.REQ_DISCOVERABLE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_ENABLE | usual.event.bluetooth.host.REQ_ENABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISABLE | usual.event.bluetooth.host.REQ_DISABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_SCAN_MODE_UPDATE | usual.event.bluetooth.host.SCAN_MODE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_STARTED | usual.event.bluetooth.host.DISCOVERY_STARTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_FINISHED | usual.event.bluetooth.host.DISCOVERY_FINISHED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_NAME_UPDATE | usual.event.bluetooth.host.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsink.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsink.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_AUDIO_STATE_UPDATE | usual.event.bluetooth.a2dpsink.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED | usual.event.nfc.action.ADAPTER_STATE_CHANGED | 无 |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED | usual.event.nfc.action.RF_FIELD_ON_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED | usual.event.nfc.action.RF_FIELD_OFF_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_DISCHARGING | usual.event.DISCHARGING | 无 |
| COMMON_EVENT_CHARGING | usual.event.CHARGING | 无 |
| COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED | usual.event.DEVICE_IDLE_MODE_CHANGED | 无 |
| COMMON_EVENT_POWER_SAVE_MODE_CHANGED | usual.event.POWER_SAVE_MODE_CHANGED | 无 |
| COMMON_EVENT_USER_ADDED | usual.event.USER_ADDED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_REMOVED | usual.event.USER_REMOVED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_ABILITY_ADDED | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_UPDATED | common.event.ABILITY_UPDATED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_LOCATION_MODE_STATE_CHANGED | usual.event.location.MODE_STATE_CHANGED | 无 |
| COMMON_EVENT_IVI_SLEEP | common.event.IVI_SLEEP | 无 |
| COMMON_EVENT_IVI_PAUSE | common.event.IVI_PAUSE | 无 |
| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 |
| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 |
| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 |
| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 |
| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 |
| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 |
| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 |
| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 |
| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 |
| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 |
| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 |
| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 |
| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 |
| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VISIBLE_ACCOUNTS_UPDATED | usual.event.data.VISIBLE_ACCOUNTS_UPDATED | ohos.permission.GET_APP_ACCOUNTS |
| COMMON_EVENT_ACCOUNT_DELETED | usual.event.data.ACCOUNT_DELETED | ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS |
| COMMON_EVENT_FOUNDATION_READY | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 |
zh-cn/application-dev/quick-start/Notification开发指南.md
0 → 100644
浏览文件 @
7b4a5b21
Notification开发指南
#### 简介
OpenHarmony通过ANS(Advanced Notification Service,通知系统服务)对通知类型的消息进行管理,支持多种通知类型,包括文本,长文本,多文本,图片,社交,媒体等。所有系统服务以及应用都可以通过通知接口发送通知消息,用户可以通过SystemUI查看所有通知消息。
通知常见的使用场景:
-
显示接收到短消息、即时消息等。
-
显示应用的推送消息,如广告、版本更新等。
-
显示当前正在进行的事件,如导航、下载等。
#### 接口列表
| API | 手机 | 平板 | 智慧屏 | 智能穿戴 |
| ------------------------------------------------------------ | ---- | ---- | ------ | -------- |
| Notification.publish(request: NotificationRequest, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.publish(request: NotificationRequest) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id: number, label: string, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id:number, label?:string) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancel(id: number, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancelAll(callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.cancelAll() | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(type: SlotType, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.addSlot(type: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlot(slotType: SlotType, callback: AsyncCallback
<NotificationSlot>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlot(slotType: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlots(callback: AsyncCallback
<Array
<
NotificationSlot
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getSlots() | 支持 | 支持 | 支持 | 支持 |
| Notification.removeSlot(slotType: SlotType, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeSlot(slotType: SlotType) | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAllSlots(callback: AsyncCallback
<void>
): void | 支持 | 支持 | 支持 | 支持 |
| Notification.removeAllSlots(): Promise
<void>
| 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotificationCount(callback: AsyncCallback
<number>
) | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotificationCount() | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotifications(callback: AsyncCallback
<Array
<
NotificationRequest
>
>) | 支持 | 支持 | 支持 | 支持 |
| Notification.getActiveNotifications() | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback
<WantAgent>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getWantAgent(info: WantAgentInfo): Promise
<WantAgent>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback
<string>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getBundleName(agent: WantAgent): Promise
<string>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.getUid(agent: WantAgent, callback: AsyncCallback
<number>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.getUid(agent: WantAgent): Promise
<number>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.cancel(agent: WantAgent, callback: AsyncCallback
<void>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.cancel(agent: WantAgent): Promise
<void>
| 支持 | 支持 | 支持 | 支持 |
| WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback
<CompleteData>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback
<boolean>
) | 支持 | 支持 | 支持 | 支持 |
| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise
<boolean>
| 支持 | 支持 | 支持 | 支持 |
#### Notification接口
##### 导入模块
```
js
import
Notification
from
'
@ohos.notification
'
;
```
##### NotificationSlot类型说明
NotificationSlot可以对提示音、振动等进行设置。一个应用可以创建一个或多个NotificationSlot,在发布通知时,通过绑定不同的NotificationSlot,实现不同用途。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------------- | -------- | ------------- | ---- | ---------------------------- |
| type | 读、写 | SlotType | 是 | 通道类型 |
| level | 读、写 | SlotLevel | 否 | 通知级别 |
| desc | 读、写 | string | 否 | 通知渠道描述信息 |
| badgeFlag | 读、写 | boolean | 否 | 是否显示角标 |
| bypassDnd | 读、写 | boolean | 否 | 置是否在系统中绕过免打扰模式 |
| lockscreenVisibility | 读、写 | boolean | 否 | 在锁定屏幕上显示通知的模式 |
| vibrationEnabled | 读、写 | boolean | 否 | 是否可振动 |
| sound | 读、写 | string | 否 | 通知提示音 |
| lightEnabled | 读、写 | boolean | 否 | 是否闪灯 |
| lightColor | 读、写 | number | 否 | 通知灯颜色 |
| vibrationValues | 读、写 | Array
<number>
| 否 | 通知振动样式 |
-
SlotType类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| -------------------- | -------- | ---- | -------- |
| SOCIAL_COMMUNICATION | 只读 | enum | 社交类型 |
| SERVICE_INFORMATION | 只读 | enum | 服务类型 |
| CONTENT_INFORMATION | 只读 | enum | 内容类型 |
| OTHER_TYPES | 只读 | enum | 其他类型 |
-
SlotLevel类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| ------------- | -------- | ---- | ------------------------------------------------------------ |
| LEVEL_NONE | 只读 | enum | 表示通知不发布 |
| LEVEL_MIN | 只读 | enum | 表示通知可以发布,但不在状态栏显示,不自动弹出,无提示音;该级别不适用于前台服务的场景 |
| LEVEL_LOW | 只读 | enum | 表示通知发布后在状态栏显示,不自动弹出,无提示音 |
| LEVEL_DEFAULT | 只读 | enum | 表示通知发布后在状态栏显示,不自动弹出,触发提示音 |
| LEVEL_HIGH | 只读 | enum | 表示通知发布后在状态栏显示,自动弹出,触发提示音 |
##### NotificationRequest类型说明
NotificationRequest用于设置具体的通知对象,包括设置通知的属性,如:通知的分发时间、小图标、大图标、自动删除等参数,以及设置具体的通知类型,如普通文本、长文本等。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------------- | -------- | ------------------------------- | ---- | -------------------------- |
| content | 读、写 | NotificationContent | 是 | 通知内容 |
| id | 读、写 | number | 否 | 通知ID |
| slotType | 读、写 | SlotType | 否 | 通道类型 |
| isOngoing | 读、写 | boolean | 否 | 是否进行时通知 |
| isUnremovable | 读、写 | boolean | 否 | 是否可移除 |
| deliveryTime | 读、写 | number | 否 | 通知发送时间 |
| tapDismissed | 读、写 | boolean | 否 | 通知是否自动清除 |
| autoDeletedTime | 读、写 | number | 否 | 自动清除的时间 |
| wantAgent | 读、写 | WantAgent | 否 | 点击跳转的WantAgent |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 扩展参数 |
| color | 读、写 | number | 否 | 通知背景颜色 |
| colorEnabled | 读、写 | boolean | 否 | 通知背景颜色是否使能 |
| isAlertOnce | 读、写 | boolean | 否 | 设置是否仅有一次此通知警报 |
| isStopwatch | 读、写 | boolean | 否 | 是否显示已用时间 |
| isCountDown | 读、写 | boolean | 否 | 是否显示倒计时时间 |
| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 |
| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 |
| label | 读、写 | string | 否 | 通知标签 |
| badgeIconStyle | 读、写 | number | 否 | 通知角标类型 |
| showDeliveryTime | 读、写 | boolean | 否 | 是否显示分发时间 |
| actionButtons | 读、写 | Array
<NotificationActionButton>
| 否 | 通知按钮,最多两个按钮 |
| smallIcon | 读、写 | PixelMap | 否 | 通知小图标 |
| largeIcon | 读、写 | PixelMap | 否 | 通知大图标 |
| creatorBundleName | 只读 | string | 否 | 创建通知的包名 |
| creatorUid | 只读 | number | 否 | 创建通知的UID |
| creatorPid | 只读 | number | 否 | 创建通知的PID |
| hashCode | 只读 | string | 否 | 通知唯一标识 |
-
NotificationContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | ---------------------------- | ---- | -------------------- |
| contentType | 读、写 | ContentType | 是 | 通知内容类型 |
| normal | 读、写 | NotificationBasicContent | 否 | 普通类型通知内容 |
| longText | 读、写 | NotificationLongTextContent | 否 | 长文本类型通知内容 |
| multiLine | 读、写 | NotificationMultiLineContent | 否 | 多行文本类型通知内容 |
| picture | 读、写 | NotificationPictureContent | 否 | 图片类型通知内容 |
-
ContentType类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| --------------------------------- | -------- | ---- | ---------------- |
| NOTIFICATION_CONTENT_BASIC_TEXT | 只读 | enum | 普通类型通知 |
| NOTIFICATION_CONTENT_LONG_TEXT | 只读 | enum | 长文本类型通知 |
| NOTIFICATION_CONTENT_PICTURE | 只读 | enum | 图片类型通知 |
| NOTIFICATION_CONTENT_CONVERSATION | 只读 | enum | 社交类型通知 |
| NOTIFICATION_CONTENT_MULTILINE | 只读 | enum | 多行文本类型通知 |
-
NotificationBasicContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------ | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
-
NotificationLongTextContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------------- | -------- | ------ | ---- | ---------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| longText | 读、写 | string | 是 | 通知的长文本 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| expandedTitle | 读、写 | string | 是 | 通知展开时的标题 |
-
NotificationMultiLineContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | ------------- | ---- | ---------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| longTitle | 读、写 | string | 是 | 通知展开时的标题 |
| lines | 读、写 | Array
<String>
| 是 | 通知的多行文本 |
-
NotificationPictureContent类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | -------------- | ---- | -------------------------------- |
| title | 读、写 | string | 是 | 通知标题 |
| text | 读、写 | string | 是 | 通知内容 |
| additionalText | 读、写 | string | 是 | 通知次要内容,是对通知内容的补充 |
| briefText | 读、写 | string | 是 | 通知概要内容,是对通知内容的总结 |
| expandedTitle | 读、写 | string | 是 | 通知展开时的标题 |
| picture | 读、写 | image.PixelMap | 是 | 通知的图片内容 |
-
NotificationActionButton类型说明
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| --------- | -------- | -------------- | ---- | ------------------------- |
| title | 读、写 | string | 是 | 按钮标题 |
| wantAgent | 读、写 | wantAgent | 是 | 点击按钮时触发的WantAgent |
| extras | 读、写 | Array
<String>
| 否 | 按钮扩展信息 |
| icon | 读、写 | image.PixelMap | 否 | 按钮图标 |
##### 创建通知通道
-
创建通知通道(callback形式)
Notification.addSlot(type: SlotType, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ---------------------- |
| type | 只读 | SlotType | 是 | 要创建的通知通道的类型 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//addslot回调
function
addSlotCallBack
(
err
)
{
console
.
info
(
"
==========================>addSlotCallBack=======================>
"
);
}
Notification
.
addSlot
(
SOCIAL_COMMUNICATION
,
addSlotCallBack
)
```
-
创建通知通道(Promise形式)
Notification.addSlot(type: SlotType)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | -------- | ---- | ---------------------- |
| type | 只读 | SlotType | 是 | 要创建的通知通道的类型 |
-
返回值
Promise
<
**void**
>
-
示例代码
```
js
Notification
.
addSlot
(
SOCIAL_COMMUNICATION
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>addSlotCallback=======================>
"
);
});
```
##### 获取通知通道
-
获取一个通知通道(callback形式)
Notification.getSlot(slotType: SlotType, callback: AsyncCallback
<NotificationSlot>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------------- | ---- | ----------------------------------------------------------- |
| slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
| callback | 只读 | AsyncCallback
<NotificationSlot>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//getSlot回调
function
getSlotCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getSlotCallback=======================>
"
);
}
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
getSlot
(
slotType
,
getSlotCallback
)
```
-
获取一个通知通道(Promise形式)
Notification.getSlot(slotType)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
| slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
-
返回值
Promise
<NotificationSlot>
-
示例代码
```
js
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
getSlot
(
slotType
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getSlotCallback=======================>
"
);
});
```
-
获取本应用程序的所有通知通道(callback形式)
Notification.getSlots(callback: AsyncCallback
<Array
<
NotificationSlot
>
>)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<NotificationSlot>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//getSlots回调
function
getSlotsCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getSlotsCallback=======================>
"
);
}
Notification
.
getSlots
(
getSlotsCallback
)
```
-
获取此应用程序的所有通知通道(Promise形式)
Notification.getSlots()
-
参数描述
无参数
-
返回值
Promise
<Array
<
NotificationSlot
>
>
-
示例代码
```
js
Notification
.
getSlots
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getSlotsCallback=======================>
"
);
});
```
##### 删除通知通道
-
根据通知通道类型删除通知通道(callback形式)
Notification.removeSlot(slotType: SlotType, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ----------------------------------------------------------- |
| SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//removeSlot回调
function
removeSlotCallback
(
err
)
{
console
.
info
(
"
==========================>removeSlotCallback=======================>
"
);
}
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
removeSlot
(
slotType
,
removeSlotCallback
)
```
-
根据通知通道类型删除通知通道(Promise形式)
Notification.removeSlot(slotType: SlotType)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
| SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
-
返回值
Promise
<
**void**
>
-
示例代码
```
js
var
slotType
=
SOCIAL_COMMUNICATION
;
Notification
.
removeSlot
(
slotType
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>removeSlotCallback=======================>
"
);
});
```
-
删除所有通知通道(callback形式)
Notification.removeAllSlots(callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
function
removeAllSlotsCallBack
(
err
)
{
console
.
info
(
"
================>removeAllSlotsCallBack=======================>
"
);
}
Notification
.
removeAllSlots
(
removeAllCallBack
)
```
-
删除所有通知通道(Promise形式)
Notification.removeAllSlots()
-
参数描述
无参数
-
返回值
Promise
<
**void**
>
-
示例代码
```
js
Notification
.
removeAllSlots
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>removeAllSlotsCallBack=======================>
"
);
});
```
##### 发布通知
-
发布通知(callback形式)
Notification.publish(request: NotificationRequest, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | ------------------------------------------- |
| request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//publish回调
function
publishCallback
(
err
)
{
console
.
info
(
"
==========================>publishCallback=======================>
"
);
}
//通知Request对象
var
request
=
{
id
:
1
,
content
:
{
contentType
:
notify
.
ContentType
.
NOTIFICATION_CONTENT_BASIC_TEXT
,
normal
:
{
title
:
"
test_title
"
,
text
:
"
test_text
"
,
additionalText
:
"
test_additionalText
"
}
}
}
Notification
.
publish
(
request
,
publishCallback
);
```
-
发布通知(Promise形式)
Notification.publish(request: NotificationRequest)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ------- | -------- | ------------------- | ---- | ------------------------------------------- |
| request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 |
-
返回值
Promise
<
**void**
>
-
示例代码
```
js
//通知Request对象
var
notificationRequest
=
{
notificationId
:
1
,
content
:
{
contentType
:
notify
.
ContentType
.
NOTIFICATION_CONTENT_BASIC_TEXT
,
normal
:
{
title
:
"
test_title
"
,
text
:
"
test_text
"
,
additionalText
:
"
test_additionalText
"
}
}
}
Notification
.
publish
(
notificationRequest
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>publishCallback=======================>
"
);
});
```
##### 取消通知
-
取消指定通知(callback形式)
Notification.cancel(id: number, label: string, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| id | 只读 | number | 是 | 通知ID |
| lable | 只读 | string | 是 | 通知标签 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//cancel回调
function
cancelCallback
(
err
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
Notification
.
cancel
(
0
,
"
label
"
,
cancelCallback
)
```
-
取消指定通知(Promise形式)
Notification.cancel(id:number, label?:string)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | ------ | ---- | -------- |
| id | 只读 | number | 是 | 通知ID |
| lable | 只读 | string | 是 | 通知标签 |
-
返回值
Promise
<
**void**
>
-
示例代码
```
js
Notification
.
cancel
(
0
).
then
((
void
)
=>
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
});
```
-
取消指定id通知(callback形式)
Notification.cancel(id: number, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| id | 只读 | number | 是 | 通知ID |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//cancel回调
function
cancelCallback
(
err
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
Notification
.
cancel
(
0
,
cancelCallback
)
```
-
取消所有已发布的通知(callback形式)
Notification.cancelAll(callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | -------------------- |
| callback | 只读 | AsyncCallback
<void>
| 是 | 表示被指定的回调方法 |
-
返回值
void
-
示例代码
```
js
//cancel回调
function
cancelAllback
(
err
)
{
console
.
info
(
"
==========================>cancelAllback=======================>
"
);
}
Notification
.
cancelAll
(
cancelCallback
)
```
-
取消所有已发布的通知(Promise形式)
Notification.cancelAll()
-
参数描述
无参数
-
返回值
Promise
<void>
-
示例代码
```
js
Notification
.
cancelAll
().
then
((
void
)
=>
{
console
.
info
(
"
==========================>cancelAllback=======================>
"
);
});
```
##### 获取当前应用活动通知
-
获取当前应用的活动通知数(Callback形式)
Notification.getActiveNotificationCount(callback: AsyncCallback
<
**number**
>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------- | ---- | ---------------------- |
| callback | 只读 | AsyncCallback
<
**number**
>
| 是 | 获取活动通知数回调函数 |
-
返回值
void
-
示例代码
```
js
function
getActiveNotificationCountCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getActiveNotificationCountCallback=======================>
"
);
}
Notification
.
getActiveNotificationCount
(
getActiveNotificationCountCallback
);
```
-
获取当前应用的活动通知数(Promise形式)
Notification.getActiveNotificationCount()
-
参数描述
无
-
返回值
Promise
<
**number**
>
-
示例代码
```
js
Notification
.
getActiveNotificationCount
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getActiveNotificationCountCallback=======================>
"
);
});
```
-
获取当前应用的活动通知(Callback形式)
Notification.getActiveNotifications(callback: AsyncCallback
<Array
<
NotificationRequest
>
>)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ----------------------------------------- | ---- | ------------------------------ |
| callback | 只读 | AsyncCallback
<Array
<
NotificationRequest
>
> | 是 | 获取当前应用的活动通知回调函数 |
-
返回值
void
-
示例代码
```
js
function
getActiveNotificationsCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getActiveNotificationsCallback=======================>
"
);
}
Notification
.
getActiveNotifications
(
getActiveNotificationsCallback
);
```
-
获取当前应用的活动通知(Promise形式)
Notification.getActiveNotifications()
-
参数描述
无
-
返回值
Promise
<Array
<
NotificationRequest
>
>
-
示例代码
```
js
Notification
.
getActiveNotifications
().
then
((
data
)
=>
{
console
.
info
(
"
==========================>getActiveNotificationsCallback=======================>
"
);
});
```
#### WantAgent接口
##### 导入模块
```
js
import
WantAgent
from
'
@ohos.wantAgent
'
;
```
##### WantAgentInfo类型说明
WantAgentInfo类封装了获取一个WantAgent实例所需的数据。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------------- | -------- | ------------------------------- | ---- | ---------------------- |
| wants | 读、写 | Array
<Want>
| 是 | 将被执行的动作列表 |
| operationType | 读、写 | wantAgent.OperationType | 是 | 动作类型 |
| requestCode | 读、写 | number | 是 | 使用者定义的一个私有值 |
| wantAgentFlags | 读、写 | Array
<wantAgent.WantAgentFlags>
| 否 | 动作执行属性 |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 额外数据 |
-
OperationType类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| ----------------- | -------- | ---- | ----------------------- |
| UNKNOWN_TYPE | 只读 | enum | 不识别的类型 |
| START_ABILITY | 只读 | enum | 开启一个有页面的Ability |
| START_ABILITIES | 只读 | enum | 开启多个有页面的Ability |
| START_SERVICE | 只读 | enum | 开启一个无页面的ability |
| SEND_COMMON_EVENT | 只读 | enum | 发送一个公共事件 |
-
WantAgentFlags类型说明
| 名称 | 读写属性 | 类型 | 描述 |
| ------------------- | -------- | ---- | ------------------------------------------------------------ |
| ONE_TIME_FLAG | 只读 | enum | WantAgent仅能使用一次 |
| NO_BUILD_FLAG | 只读 | enum | 如果描述WantAgent对象不存在,则不创建它,直接返回null |
| CANCEL_PRESENT_FLAG | 只读 | enum | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象 |
| UPDATE_PRESENT_FLAG | 只读 | enum | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据 |
| CONSTANT_FLAG | 只读 | enum | WantAgent是不可变的 |
| REPLACE_ELEMENT | 只读 | enum | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 |
| REPLACE_ACTION | 只读 | enum | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 |
| REPLACE_URI | 只读 | enum | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 |
| REPLACE_ENTITIES | 只读 | enum | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 |
| REPLACE_BUNDLE | 只读 | enum | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 |
##### TriggerInfo类型说明
TriggerInfo类封装了主动激发一个WantAgent实例所需的数据。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | -------------------- | ---- | ----------- |
| code | 读、写 | number | 是 | result code |
| want | 读、写 | Want | 否 | Want |
| permission | 读、写 | string | 否 | 权限定义 |
| extraInfo | 读、写 | {[key: string]: any} | 否 | 额外数据 |
##### 创建WantAgent
-
创建WantAgent(callback形式)
WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback
<WantAgent>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------------ | ---- | ----------------------- |
| info | 只读 | WantAgentInfo | 是 | WantAgent信息 |
| callback | 只读 | AsyncCallback
<WantAgent>
| 是 | 创建WantAgent的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
```
-
创建WantAgent(Promise形式)
WantAgent.getWantAgent(info: WantAgentInfo): Promise
<WantAgent>
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---- | -------- | ------------- | ---- | ------------- |
| info | 只读 | WantAgentInfo | 是 | WantAgent信息 |
-
返回值
Promise
<WantAgent>
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
});
```
##### 获取WantAgent实例的包名
-
获取WantAgent实例的包名(callback形式)
WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback
<string>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------- | ---- | ---------------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<string>
| 是 | 获取WantAgent指定的bundle name的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//getBundleName回调
function
getBundleNameCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getBundleNameCallback=======================>
"
);
}
wantAgent
.
getBundleName
(
WantAgent
,
getBundleNameCallback
)
```
-
获取WantAgent实例的包名(Promise形式)
WantAgent.getBundleName(agent: WantAgent): Promise
<string>
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值
Promise
<string>
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
getBundleName
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getBundleNameCallback=======================>
"
);
});
```
##### 获取WantAgent实例的用户ID
-
获取WantAgent实例的用户ID(callback形式)
WantAgent.getUid(agent: WantAgent, callback: AsyncCallback
<number>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | --------------------- | ---- | ----------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<number>
| 是 | 获取WantAgent实例的用户ID的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//getUid回调
function
getUidCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getUidCallback=======================>
"
);
}
wantAgent
.
getUid
(
WantAgent
,
getUidCallback
)
```
-
获取WantAgent实例的用户ID(Promise形式)
WantAgent.getUid(agent: WantAgent): Promise
<number>
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值
Promise
<number>
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
getUid
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getUidCallback=======================>
"
);
});
```
##### 取消WantAgent实例
-
取消WantAgent实例(callback形式)
WantAgent.cancel(agent: WantAgent, callback: AsyncCallback
<void>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| -------- | -------- | ------------------- | ---- | --------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<void>
| 是 | 取消WantAgent实例的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
cancelCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
}
wantAgent
.
cancel
(
WantAgent
,
cancelCallback
)
```
-
取消WantAgent实例(Promise形式)
WantAgent.cancel(agent: WantAgent): Promise
<void>
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值
Promise
<void>
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
cancel
(
WantAgent
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>cancelCallback=======================>
"
);
});
```
##### 主动激发WantAgent实例
-
主动激发WantAgent实例(callback形式)
WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback
<CompleteData>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | --------------------------- | ---- | ------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| triggerInfo | 只读 | TriggerInfo | 是 | TriggerInfo对象 |
| callback | 只读 | AsyncCallback
<CompleteData>
| 是 | 主动激发WantAgent实例的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
triggerCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>triggerCallback=======================>
"
);
}
wantAgent
.
trigger
(
WantAgent
,
triggerCallback
)
```
##### 判断两个WantAgent实例是否相等
-
判断两个WantAgent实例是否相等(callback形式)
WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback
<boolean>
)
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | ---------------------- | ---- | --------------------------------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| otherAgent | 只读 | WantAgent | 是 | WantAgent对象 |
| callback | 只读 | AsyncCallback
<boolean>
| 是 | 判断两个WantAgent实例是否相等的回调方法 |
-
返回值
void
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent1
;
var
WantAgent2
;
//getWantAgent回调
function
getWantAgentCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
if
(
err
.
code
==
0
)
{
WantAgent1
=
data
;
WantAgent2
=
data
;
}
else
{
console
.
info
(
'
----getWantAgent failed!----
'
);
}
}
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
,
getWantAgentCallback
)
//cancel回调
function
equalCallback
(
err
,
data
)
{
console
.
info
(
"
==========================>equalCallback=======================>
"
);
}
wantAgent
.
equal
(
WantAgent1
,
WantAgent1
,
equalCallback
)
```
-
判断两个WantAgent实例是否相等(Promise形式)
WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise
<boolean>
-
参数描述
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ---------- | -------- | --------- | ---- | ------------- |
| agent | 只读 | WantAgent | 是 | WantAgent对象 |
| otherAgent | 只读 | WantAgent | 是 | WantAgent对象 |
-
返回值
Promise
<boolean>
-
示例代码
```
js
import
wantAgent
from
'
@ohos.wantAgent
'
;
import
{
OperationType
,
Flags
}
from
'
@ohos.wantagent
'
;
//wantAgent对象
var
WantAgent1
;
var
WantAgent2
;
//WantAgentInfo对象
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
"
deviceId
"
,
bundleName
:
"
com.neu.setResultOnAbilityResultTest1
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
"
action1
"
,
entities
:
[
"
entity1
"
],
type
:
"
MIMETYPE
"
,
uri
:
"
key={true,true,false}
"
,
parameters
:
{
mykey0
:
2222
,
mykey1
:
[
1
,
2
,
3
],
mykey2
:
"
[1, 2, 3]
"
,
mykey3
:
"
ssssssssssssssssssssssssss
"
,
mykey4
:
[
false
,
true
,
false
],
mykey5
:
[
"
qqqqq
"
,
"
wwwwww
"
,
"
aaaaaaaaaaaaaaaaa
"
],
mykey6
:
true
,
}
}
],
operationType
:
OperationType
.
START_ABILITIES
,
requestCode
:
0
,
wantAgentFlags
:[
Flags
.
UPDATE_PRESENT_FLAG
]
}
wantAgent
.
getWantAgent
(
wantAgentInfo
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>getWantAgentCallback=======================>
"
);
WantAgent
=
data
;
});
wantAgent
.
equal
(
WantAgent1
,
WantAgent2
).
then
((
data
)
=>
{
console
.
info
(
"
==========================>equalCallback=======================>
"
);
});
```
zh-cn/application-dev/quick-start/PageAbility开发说明.md
0 → 100644
浏览文件 @
7b4a5b21
# PageAbility开发说明
## PageAbility介绍
Page模板(以下简称“Page”)是FA唯一支持的模板,用于提供与用户交互的能力。
## PageAbility的生命周期
**Ability生命周期介绍**
(Ability Life Cycle)是Ability被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称(主要涉及PageAbility类型和ServiceAbility类型的Ability)。
-
**PageAbility类型的Ability生命周期流转如下图所示**
![
PageAbility-Lifecycle
](
figures/page-ability-lifecycle.png
)
**Ability生命周期状态说明:**
-
**UNINITIALIZED**
:未初始状态,为临时状态,Ability被创建后会由UNINITIALIZED状态进入INITIAL状态。
-
**INITIAL**
:初始化状态,也表示停止状态,表示当前Ability未运行,Ability被启动后由INITIAL态进入INACTIVE状态。
-
**INACTIVE**
:未激活状态,表示当前窗口已显示但是无焦点状态,由于Window暂未支持焦点的概念,当前状态与ACTIVE一致。
-
**ACTIVE**
:前台激活状态,表示当前窗口已显示,并获取焦点,Ability在退到后台之前先由ACTIVE状态进入INACTIVE状态。
-
**BACKGROUND**
: 后台状态,表示当前Ability退到后台,Ability在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。
**PageAbility类型Ability生命周期回调如下图所示:**
![
PageAbility-Lifecycel-Callbacks
](
figures/page-ability-lifecycle-callbacks.png
)
## 启动本地PageAbility
导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
```
```
FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<number>)
```
*
接口说明
启动新的ability(callback形式)
*
示例
```
javascript
import
featureAbility
from
'
@ohos.ability.featureAbility
'
featureAbility
.
startAbility
(
{
want
:
{
action
:
""
,
entities
:
[
""
],
type
:
""
,
options
:
{
// indicates the grant to perform read operations on the URI
authReadUriPermission
:
true
,
// indicates the grant to perform write operations on the URI
authWriteUriPermission
:
true
,
// support forward intent result to origin ability
abilityForwardResult
:
true
,
// used for marking the ability start-up is triggered by continuation
abilityContinuation
:
true
,
// specifies whether a component does not belong to ohos
notOhosComponent
:
true
,
// specifies whether an ability is started
abilityFormEnabled
:
true
,
// indicates the grant for possible persisting on the URI.
authPersistableUriPermission
:
true
,
// indicates the grant for possible persisting on the URI.
authPrefixUriPermission
:
true
,
// support distributed scheduling system start up multiple devices
abilitySliceMultiDevice
:
true
,
// indicates that an ability using the service template is started regardless of whether the
// host application has been started.
startForegroundAbility
:
true
,
// install the specified ability if it's not installed.
installOnDemand
:
true
,
// return result to origin ability slice
abilitySliceForwardResult
:
true
,
// install the specified ability with background mode if it's not installed.
installWithBackgroundMode
:
true
},
deviceId
:
""
,
bundleName
:
"
com.example.startability
"
,
abilityName
:
"
com.example.startability.MainAbility
"
,
uri
:
""
},
},
);
)
```
## 启动远程PageAbility
导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
```
```
FeatureAbility.startAbility(parameter: StartAbilityParameter)
```
*
接口说明
启动远程的ability(promise形式)
前提:通过deviceManager获取远程deviceid
*
示例
```
javascript
var
promise
=
await
ability
.
startAbility
(
{
want
:
{
deviceId
:
this
.
deviceId
,
bundleName
:
"
com.example.test
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
},
}
);
```
\ No newline at end of file
zh-cn/application-dev/quick-start/ServiceAbility开发说明.md
0 → 100644
浏览文件 @
7b4a5b21
# ServiceAbility开发说明
-
[
创建Service
](
#section17436202895812
)
-
[
启动Service
](
#section944219415599
)
-
[
连接Service
](
#section126857614018
)
## 创建Service<a name="section17436202895812"></a>
1.
Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。
-
onStart()
该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。
-
onCommand()
在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。
-
onConnect()
在Ability和Service连接时调用,该方法返回IRemoteObject对象,开发者可以在该回调函数中生成对应Service的IPC通信通道,以便Ability与Service交互。Ability可以多次连接同一个Service,系统会缓存该Service的IPC通信对象,只有第一个客户端连接Service时,系统才会调用Service的onConnect方法来生成IRemoteObject对象,而后系统会将同一个RemoteObject对象传递至其他连接同一个Service的所有客户端,而无需再次调用onConnect方法。
-
onDisconnect()
在Ability与绑定的Service断开连接时调用。
-
onStop()
在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。
创建Service的代码示例如下:
```
javascript
export
default
{
onStart
(
want
)
{
console
.
log
(
'
SerivceAbility onStart
'
);
},
onCommand
(
want
,
restart
,
startId
)
{
console
.
log
(
'
SerivceAbility onCommand
'
);
},
onConnect
(
want
)
{
console
.
log
(
'
SerivceAbility OnConnect
'
);
},
onDisconnect
()
{
console
.
log
(
'
SerivceAbility OnDisConnect
'
);
},
onStop
()
{
console
.
log
(
'
SerivceAbility onStop
'
);
},
}
```
2.
注册Service。
Service也需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。
```javascript
{
"module": {
"abilities": [
{
"name": ".ServiceAbility",
"type": "service",
"visible": true
...
}
]
...
}
...
}
```
## 启动Service<a name="section944219415599"></a>
Ability为开发者提供了startAbility()方法来启动另外一个Ability。因为Service也是Ability的一种,开发者同样可以通过将Want传递给该方法来启动Service。
开发者可以通过构造包含BundleName与AbilityName的Want对象来设置目标Service信息。参数的含义如下:
-
BundleName:表示包名称。
-
AbilityName:表示待启动的Ability名称。
启动本地设备Service的代码示例如下:
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
var
promise
=
await
featureAbility
.
startAbility
(
{
want
:
{
bundleName
:
"
com.jstest.serviceability
"
,
abilityName
:
"
com.jstest.serviceability.MainAbility
"
,
},
}
);
```
-
执行上述代码后,Ability将通过startAbility() 方法来启动Service。
-
如果Service尚未运行,则系统会先调用onStart()来初始化Service,再回调Service的onCommand()方法来启动Service。
-
如果Service正在运行,则系统会直接回调Service的onCommand()方法来启动Service。
-
停止Service
Service一旦创建就会一直保持在后台运行,除非必须回收内存资源,否则系统不会停止或销毁Service。开发者可以在Service中通过terminateAbility()停止本Service或在其他Ability调用stopAbility()来停止Service。
## 连接Service<a name="section126857614018"></a>
如果Service需要与Page Ability或其他应用的Service Ability进行交互,则须创建用于连接的Connection。Service支持其他Ability通过connectAbility()方法与其进行连接。
在使用connectAbility()处理回调时,需要传入目标Service的Want与IAbilityConnection的实例。IAbilityConnection提供了以下方法供开发者实现:onConnect()是用来处理连接Service成功的回调,onDisconnect()是用来处理Service异常死亡的回调,onFailed()是用来处理连接Service失败的回调。
创建连接Service回调实例的代码示例如下:
```
javascript
var
mRemote
;
function
onConnectCallback
(
element
,
remote
){
console
.
log
(
'
ConnectAbility onConnect Callback
'
)
mRemote
=
remote
;
}
function
onDisconnectCallback
(
element
){
console
.
log
(
'
ConnectAbility onDisconnect Callback
'
)
}
function
onFailedCallback
(
code
){
console
.
log
(
'
ConnectAbility onFailed Callback
'
)
}
```
连接Service的代码示例如下:
```
javascript
import
featureAbility
from
'
@ohos.ability.featureability
'
;
var
connId
=
featureAbility
.
connectAbility
(
{
bundleName
:
"
com.jstest.serviceability
"
,
abilityName
:
"
com.jstest.serviceability.MainAbility
"
,
},
{
onConnect
:
onConnectCallback
,
onDisconnect
:
onDisconnectCallback
,
onFailed
:
onFailedCallback
,
},
);
```
同时,Service侧也需要在onConnect()时返回IRemoteObject,从而定义与Service进行通信的接口。onConnect()需要返回一个IRemoteObject对象,HarmonyOS提供了IRemoteObject的默认实现,用户可以通过继承rpc.RemoteObject来创建自定义的实现类。
Service侧把自身的实例返回给调用侧的代码示例如下:
```
javascript
import
rpc
from
"
@ohos.rpc
"
;
var
mMyStub
;
export
default
{
onStart
(
want
)
{
class
MyStub
extends
rpc
.
RemoteObject
{
constructor
(
des
)
{
if
(
typeof
des
===
'
string
'
)
{
super
(
des
,
des
.
length
);
}
return
null
;
}
onRemoteRequest
(
code
,
message
,
reply
,
option
)
{
}
}
mMyStub
=
new
MyStub
(
"
ServiceAbility-test
"
);
},
onCommand
(
want
,
restart
,
startId
)
{
console
.
log
(
'
SerivceAbility onCommand
'
);
},
onConnect
(
want
)
{
console
.
log
(
'
SerivceAbility OnConnect
'
);
return
mMyStub
;
},
onDisconnect
()
{
console
.
log
(
'
SerivceAbility OnDisConnect
'
);
},
onStop
()
{
console
.
log
(
'
SerivceAbility onStop
'
);
},
}
```
zh-cn/application-dev/quick-start/基于Native的DataAbility创建与访问.md
0 → 100644
浏览文件 @
7b4a5b21
# 基于Native的Data Ability创建与访问
-
**[Data Ability基本概念](#section001)**
-
**[创建Data](#section002)**
-
**[访问Data](#section003)**
## Data Ability基本概念
通过Ability派生出的DataAbility类(以下简称“Data”),有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
## 创建Data
### 1. Data子系统实现
1.
基于Native的Data子系统,需要继承Ability类,成为Ability的派生类来实现功能
2.
需要实现父类中Insert,Query,Update,Delete接口的业务内容.保证能够满足数据库存储业务的基本需求.BatchInsert与ExecuteBatch接口已经在系统中实现遍历逻辑,依赖Insert,Query,Update,Delete接口逻辑,来实现数据的批量处理.
3.
使用REGISTER_AA宏将Data的类名注册到系统服务中
### 2. 子系统配置
| Json重要字段 | 备注说明 |
| ------------- | ------------------------------------------------------------ |
| "name" | Ability名子,对应Ability派生的Data类名 |
| "type" | Ability类型,Data对应的Ability类型未"data" |
| "uri" | 通信使用的URI |
| "srcLanguage" | Data实现语言,c++实现的Data填写c++, js实现的Data填写js |
| "visible" | 对其他应用是否可见, 设置为true时, Data才能与其他应用进行通信传输数据 |
**config.json配置样例**
```
json
"abilities"
:[{
"name"
:
".DataAbility"
,
"icon"
:
"$media:snowball"
,
"label"
:
"Data Firs Ability"
,
"launchType"
:
"standard"
,
"orientation"
:
"unspecified"
,
"type"
:
"data"
,
"uri"
:
"dataability://com.ix.DataAbility"
,
"srcLanguage"
:
"c++"
,
"visible"
:
true
}]
```
## 访问Data
### 1 JS应用开发前准备
基础依赖包:
1.
@ohos.ability.featureAbility
2.
@ohos.data.dataability
3.
@ohos.data.rdb
与Data子系统通信的Uri字符串
### 2 JS应用开发接口
工具接口类对象创建
```
js
// 作为参数传递的Uri,与config中定义的Uri的区别是多了一个"/",是因为作为参数传递的uri中,在第二个与第三个"/"中间,存在一个DeviceID的参数
var
urivar
=
"
dataability:///com.ix.DataAbility
"
var
DAHelper
=
featureAbility
.
acquireDataAbilityHelper
(
urivar
);
```
数据库相关的rdb数据构建
```
js
var
valuesBucket
=
{
"
name
"
:
"
gaolu
"
}
var
da
=
new
ohos_data_ability
.
DataAbilityPredicates
()
var
valArray
=
new
Array
(
"
value1
"
);
var
cars
=
new
Array
({
"
batchInsert1
"
:
"
value1
"
,});
```
向指定的Data子系统插入数据,inster调用
```
js
// callbacke方式调用:
DAHelper
.
insert
(
urivar
,
valuesBucket
,
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
number
"
)
}
);
// promise方式调用:
var
datainsert
=
await
DAHelper
.
insert
(
urivar
,
valuesBucket
);
```
删除Data子系统中指定的数据, delete调用
```
js
// callbacke方式调用:
DAHelper
.
delete
(
urivar
,
da
,
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
number
"
)
}
);
// promise方式调用:
var
datadelete
=
await
DAHelper
.
delete
(
urivar
,
da
,
);
```
更新指定Data子系统中的数据, update调用
```
js
// callbacke方式调用:
DAHelper
.
update
(
urivar
valuesBucket
,
da
,
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
number
"
)
}
);
// promise方式调用:
var
dataupdate
=
await
DAHelper
.
update
(
urivar
,
valuesBucket
,
da
,
);
```
在指定的Data子系统中查找数据,query调用
```
js
// callbacke方式调用:
DAHelper
.
query
(
urivar
,
valArray
,
da
,
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
object
"
)
}
);
// promise方式调用:
var
dataquery
=
await
DAHelper
.
query
(
urivar
,
valArray
,
da
);
```
向指定的数据子系统批量插入数据,batchInsert调用
```
js
// callbacke方式调用:
DAHelper
.
batchInsert
(
urivar
,
cars
,
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
number
"
)
}
);
// promise方式调用:
var
databatchInsert
=
await
DAHelper
.
batchInsert
(
urivar
,
cars
);
```
向指定的Data子系统进行数据的批量处理,executeBatch调用
```
js
// callbacke方式调用:
DAHelper
.
executeBatch
(
urivar
,
[
{
uri
:
urivar
,
type
:
featureAbility
.
DataAbilityOperationType
.
TYPE_INSERT
,
valuesBucket
:
{
"
executeBatch
"
:
"
value1
"
,},
predicates
:
da
,
expectedCount
:
0
,
PredicatesBackReferences
:
{},
interrupted
:
true
,
}
],
(
error
,
data
)
=>
{
expect
(
typeof
(
data
)).
assertEqual
(
"
object
"
)
}
);
// promise方式调用:
var
dataexecuteBatch
=
await
DAHelper
.
executeBatch
(
urivar
,
[
{
uri
:
urivar
,
type
:
featureAbility
.
DataAbilityOperationType
.
TYPE_INSERT
,
valuesBucket
:
{
"
executeBatch
"
:
"
value1
"
,
},
predicates
:
da
,
expectedCount
:
0
,
PredicatesBackReferences
:
{},
interrupted
:
true
,
}
]
);
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录