diff --git a/CODEOWNERS b/CODEOWNERS index 4f7ab1dad900229e988205402075da217e03f536..b3a89aecb5c1bf1907db23aabcb7d61adecc8ab3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -435,6 +435,7 @@ zh-cn/application-dev/reference/apis/js-apis-system-bluetooth.md @cheng_guohong zh-cn/application-dev/reference/apis/js-apis-system-brightness.md @aqxyjay @zengyawen @aqxyjay @alien0208 zh-cn/application-dev/reference/apis/js-apis-system-cipher.md @gaoyong @zengyawen @niejiteng @jumozhanjiang zh-cn/application-dev/reference/apis/js-apis-system-configuration.md @Buda-Liu @ningningW @budda-wang @tomatodevboy +zh-cn/application-dev/reference/apis/js-apis-system-date-time.md @feng-aiwen @ningningW @illybyy @murphy1984 zh-cn/application-dev/reference/apis/js-apis-system-device.md @mupceet @zengyawen @handyohos @nan-xiansen zh-cn/application-dev/reference/apis/js-apis-system-fetch.md @zhang-hai-feng @zengyawen @jyh926 @gaoxi785 zh-cn/application-dev/reference/apis/js-apis-system-file.md @panqinxu @zengyawen @bubble_mao @jinhaihw @@ -520,7 +521,7 @@ zh-cn/application-dev/reference/apis/js-apis-bundleManager.md @shuaytao @RayShih zh-cn/application-dev/reference/apis/js-apis-bundleMonitor.md @shuaytao @RayShih @wangzhen107 @inter515 zh-cn/application-dev/reference/apis/js-apis-colorSpaceManager.md @zhangqiang183 @ge-yafang @wind_zj @zxg-gitee zh-cn/application-dev/reference/apis/js-apis-commonEventManager.md @jayleehw @RayShih @li-weifeng2 @currydavids -zh-cn/application-dev/reference/apis/js-apis-configPolicy.md @Buda-Liu @ningningW @budda-wang @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-configPolicy.md @liuzuming @ningningW @yangqing3 zh-cn/application-dev/reference/apis/js-apis-cooperate.md @yuanxinying @ningningW @cococoler @alien0208 zh-cn/application-dev/reference/apis/js-apis-cryptoFramework.md @gaoyong @zengyawen @niejiteng @jumozhanjiang zh-cn/application-dev/reference/apis/js-apis-cert.md @gaoyong @zengyawen @niejiteng @jumozhanjiang @@ -528,8 +529,13 @@ zh-cn/application-dev/reference/apis/js-apis-curve.md @huaweimaxuchu @HelloCreas zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md @shuaytao @RayShih @wangzhen107 @inter515 zh-cn/application-dev/reference/apis/js-apis-distributedBundle.md @shuaytao @RayShih @wangzhen107 @inter515 zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md @feng-aiwen @ge-yafang @gong-a-shi @logic42 -zh-cn/application-dev/reference/apis/js-apis-enterprise-adminManager.md @Buda-Liu @ningningW @budda-wang @yangqing3 -zh-cn/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md @Buda-Liu @ningningW @budda-wang @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-accountManager.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-adminManager.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-deviceControl.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-deviceInfo.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-networkManager.md @liuzuming @ningningW @yangqing3 +zh-cn/application-dev/reference/apis/js-apis-enterprise-wifiManager.md @liuzuming @ningningW @yangqing3 zh-cn/application-dev/reference/apis/js-apis-fileAccess.md @panqinxu @zengyawen @bubble_mao @jinhaihw zh-cn/application-dev/reference/apis/js-apis-fileExtensionInfo.md @panqinxu @zengyawen @bubble_mao @jinhaihw zh-cn/application-dev/reference/apis/js-apis-freeInstall.md @shuaytao @RayShih @wangzhen107 @inter515 diff --git a/en/application-dev/file-management/medialibrary-filepath-guidelines.md b/en/application-dev/file-management/medialibrary-filepath-guidelines.md index 4c7e2ecd4db6723a66930e624bd4b36b556330d1..1e310ef9312499bb131affb620ac7758e5033778 100644 --- a/en/application-dev/file-management/medialibrary-filepath-guidelines.md +++ b/en/application-dev/file-management/medialibrary-filepath-guidelines.md @@ -136,7 +136,7 @@ async function copySandbox2Public() { console.error('file asset get failed, message = ' + err); } let fdPub = await fileAsset.open('rw'); - let fdSand = await fs.open(sandboxDirPath + 'testFile.txt', OpenMode.READ_WRITE); + let fdSand = await fs.open(sandboxDirPath + 'testFile.txt', fs.OpenMode.READ_WRITE); await fs.copyFile(fdSand.fd, fdPub); await fileAsset.close(fdPub); await fs.close(fdSand.fd); @@ -174,7 +174,7 @@ async function example() { const context = getContext(this); let media = mediaLibrary.getMediaLibrary(context); const path = await media.getPublicDirectory(DIR_DOCUMENTS); - media.createAsset(mediaType, "testFile.text", path).then((asset) => { + media.createAsset(mediaType, "testFile.txt", path).then((asset) => { console.info("createAsset successfully:" + JSON.stringify(asset)); }).catch((err) => { console.error("createAsset failed with error: " + err); diff --git a/en/application-dev/file-management/medialibrary-resource-guidelines.md b/en/application-dev/file-management/medialibrary-resource-guidelines.md index 7d120ec9a4fa9fd38ba92be97ee7fdd5a6f33816..054591847ffa156f5ee85cf5e2412b215750e283 100644 --- a/en/application-dev/file-management/medialibrary-resource-guidelines.md +++ b/en/application-dev/file-management/medialibrary-resource-guidelines.md @@ -42,14 +42,11 @@ async function example() { const context = getContext(this); let media = mediaLibrary.getMediaLibrary(context); const fetchFileResult = await media.getFileAssets(option); - fetchFileResult.getFirstObject().then((fileAsset) => { + fetchFileResult.getFirstObject().then(async (fileAsset) => { console.log('getFirstObject.displayName : ' + fileAsset.displayName); for (let i = 1; i < fetchFileResult.getCount(); i++) { - fetchFileResult.getNextObject().then((fileAsset) => { - console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); - }).catch((err) => { - console.error('Failed to get next object: ' + err); - }); + let fileAsset = await fetchFileResult.getNextObject(); + console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); } }).catch((err) => { console.error('Failed to get first object: ' + err); @@ -75,14 +72,11 @@ async function example() { const context = getContext(this); let media = mediaLibrary.getMediaLibrary(context); const fetchFileResult = await media.getFileAssets(option); - fetchFileResult.getFirstObject().then((fileAsset) => { + fetchFileResult.getFirstObject().then(async (fileAsset) => { console.info('getFirstObject.displayName : ' + fileAsset.displayName); for (let i = 1; i < fetchFileResult.getCount(); i++) { - fetchFileResult.getNextObject().then((fileAsset) => { - console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); - }).catch((err) => { - console.error('Failed to get next object: ' + err); - }); + let fileAsset = await fetchFileResult.getNextObject(); + console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); } }).catch((err) => { console.error('Failed to get first object: ' + err); @@ -108,14 +102,11 @@ async function example() { const context = getContext(this); let media = mediaLibrary.getMediaLibrary(context); const fetchFileResult = await media.getFileAssets(option); - fetchFileResult.getFirstObject().then((fileAsset) => { + fetchFileResult.getFirstObject().then(async (fileAsset) => { console.info('getFirstObject.displayName : ' + fileAsset.displayName); for (let i = 1; i < fetchFileResult.getCount(); i++) { - fetchFileResult.getNextObject().then((fileAsset) => { - console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); - }).catch((err) => { - console.error('Failed to get next object: ' + err); - }); + let fileAsset = await fetchFileResult.getNextObject(); + console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); } }).catch((err) => { console.error('Failed to get first object: ' + err); diff --git a/zh-cn/application-dev/Readme-CN.md b/zh-cn/application-dev/Readme-CN.md index 603a38b9ac205ab36eec595899f2a66afe409565..b81af1f250ccdf126e45ebeccc44f7c29c02a975 100644 --- a/zh-cn/application-dev/Readme-CN.md +++ b/zh-cn/application-dev/Readme-CN.md @@ -17,7 +17,6 @@ - 应用程序包结构 - [Stage模型应用程序包结构](quick-start/application-package-structure-stage.md) - [FA模型应用程序包结构](quick-start/application-package-structure-fa.md) - - [HAR包结构](quick-start/har-structure.md) - 应用程序包多HAP机制 - [多HAP机制设计目标](quick-start/multi-hap-objective.md) - [多HAP构建视图](quick-start/multi-hap-build-view.md) @@ -26,11 +25,11 @@ - [多HAP运行机制及数据通信方式](quick-start/multi-hap-principles.md) - [应用程序包安装和卸载流程](quick-start/application-package-install-uninstall.md) - 共享包 + - [共享包概述](quick-start/shared-guide.md) - [HAR](quick-start/har-package.md) - HSP - - [HSP概述](quick-start/hsp-guide.md) - [应用内HSP开发指导](quick-start/in-app-hsp.md) - - [应用间HSP开发指导](quick-start/cross-app-hsp.md) + - [应用间HSP开发指导(仅对系统应用开放)](quick-start/cross-app-hsp.md) - 应用配置文件(Stage模型) - [应用配置文件概述(Stage模型)](quick-start/application-configuration-file-overview-stage.md) - [app.json5配置文件](quick-start/app-configuration-file.md) diff --git a/zh-cn/application-dev/application-dev-guide-for-gitee.md b/zh-cn/application-dev/application-dev-guide-for-gitee.md index 21267735bd801a4e6bfdd366699a584659c43e4c..b8320cd4c830d9fbcd6e012ce54dbfcf34c3248c 100644 --- a/zh-cn/application-dev/application-dev-guide-for-gitee.md +++ b/zh-cn/application-dev/application-dev-guide-for-gitee.md @@ -40,6 +40,8 @@ - [应用测试](application-test/Readme-CN.md) - [IDL工具规格及使用说明书](IDL/idl-guidelines.md) - [Native API的相关指导](napi/Readme-CN.md) +- [文件管理](file-management/medialibrary-overview.md) +- [一次开发,多端部署](key-features/multi-device-app-dev/foreword.md) ### 工具 diff --git a/zh-cn/application-dev/application-dev-guide.md b/zh-cn/application-dev/application-dev-guide.md index 2942726a14e480b66b3bbfb839a892fb4c97cf76..15439726df413f25a8d3612e0b10ca9868ca322c 100644 --- a/zh-cn/application-dev/application-dev-guide.md +++ b/zh-cn/application-dev/application-dev-guide.md @@ -40,6 +40,8 @@ - [应用测试](application-test/arkxtest-guidelines.md) - [IDL工具规格及使用说明书](IDL/idl-guidelines.md) - [Native API的相关指导](napi/napi-guidelines.md) +- [文件管理](file-management/medialibrary-overview.md) +- [一次开发,多端部署](key-features/multi-device-app-dev/foreword.md) ### 工具 diff --git a/zh-cn/application-dev/application-models/enterprise-extensionAbility.md b/zh-cn/application-dev/application-models/enterprise-extensionAbility.md index b418036d0faacb55d22a3ae4ed96d5db25a60c1a..158b3eb4801466805d8261919edc479a96f3b7b1 100644 --- a/zh-cn/application-dev/application-models/enterprise-extensionAbility.md +++ b/zh-cn/application-dev/application-models/enterprise-extensionAbility.md @@ -2,18 +2,16 @@ ## EnterpriseAdminExtensionAbility简介 -企业设备管理扩展能力,是MDM应用必备组件。当开发者为企业开发MDM(Mobilie Device Management)应用时,需继承EnterpriseAdminExtensionAbility,在EnterpriseAdminExtensionAbility实例中实现MDM业务逻辑,EnterpriseAdminExtensionAbility实现了系统管理状态变化通知功能,并定义了管理应用激活、去激活、应用安装、卸载事件等回调接口。 +企业设备管理扩展能力,是MDM(Mobile Device Management)应用必备组件。当开发者为企业开发MDM应用时,需继承EnterpriseAdminExtensionAbility,在EnterpriseAdminExtensionAbility实例中实现MDM业务逻辑,EnterpriseAdminExtensionAbility实现了系统管理状态变化通知功能,并定义了管理应用激活、去激活、应用安装、卸载事件等回调接口。 ## 约束与限制 -- **_功能限制_** - - 仅支持设备管理员应用使用。 + 仅支持设备管理员应用使用。(功能限制) -## 场景:监听设备管理器激活、去激活、应用安装、卸载事件 +## 场景:监听设备管理器激活、去激活、应用安装、卸载事件 -## 概述 +### 概述 onAdminEnabled:由企业管理员或者员工部署MDM应用,激活设备管理器,系统通知MDM应用已激活DeviceAdmin权限。MDM应用可在onAdminEnabled回调函数中进行初始化策略设置。 @@ -23,7 +21,7 @@ onBundleAdded: 企业应用管理场景下,企业管理员订阅应用安装 onBundleRemoved: 企业应用管理场景下,企业管理员取消订阅应用安装卸载事件。 -## 接口说明 +### 接口说明 | 类名 | 接口名称 | 描述 | | :------------------------------ | ----------------------------------------- | ---------------------------- | @@ -32,13 +30,13 @@ onBundleRemoved: 企业应用管理场景下,企业管理员取消订阅应用 | EnterpriseAdminExtensionAbility | onAdminEnabled(): void | 设备管理器应用激活回调方法 | | EnterpriseAdminExtensionAbility | onBundleRemoved(bundleName: string): void | 应用卸载回调方法 | -## 开发步骤 +### 开发步骤 -开发者在实现EnterpriseAdminExtensionAbility的时候,需先激活设备管理员应用,并在设备管理员应用的代码目录下载新建ExtensionAbility,具体步骤如下。 +开发者在实现EnterpriseAdminExtensionAbility的时候,需先激活设备管理员应用,并在设备管理员应用的代码目录下新建ExtensionAbility,具体步骤如下。 1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为EnterpriseExtAbility。 2. 在EnterpriseExtAbility目录,右键选择“New > TypeScript File”,新建一个TypeScript文件并命名为EnterpriseExtAbility.ts。 -3. 打开EnterpriseExtAbility.ts文件,导入EnterpriseAdminExtensionAbility模块,自定义类继承EnterpriseAdminExtensionAbility并加上需要的应用通知回调方法,如onAdminEnabled()、onAdminDisabled()等回调方法。当设备管理员应用被激活或则去激活时,则可以在对应回调方法中接受系统发送通知。 +3. 打开EnterpriseExtAbility.ts文件,导入EnterpriseAdminExtensionAbility模块,自定义类继承EnterpriseAdminExtensionAbility并加上需要的应用通知回调方法,如onAdminEnabled()、onAdminDisabled()等回调方法。当设备管理员应用被激活或者去激活时,则可以在对应回调方法中接受系统发送通知。 ```ts import EnterpriseAdminExtensionAbility from '@ohos.enterprise.EnterpriseAdminExtensionAbility'; diff --git a/zh-cn/application-dev/connectivity/http-request.md b/zh-cn/application-dev/connectivity/http-request.md index ff6ec5ed4113c8c9c14cb6a1613dd86dab7ff232..8c4c663fcc800a1998168aed065fd3e568a5e329 100644 --- a/zh-cn/application-dev/connectivity/http-request.md +++ b/zh-cn/application-dev/connectivity/http-request.md @@ -30,7 +30,7 @@ HTTP数据请求功能主要由http模块提供。 | on\('dataProgress'\)10+ | 订阅HTTP流式响应数据接收进度事件。 | | off\('dataProgress'\)10+ | 取消订阅HTTP流式响应数据接收进度事件。 | -## 开发步骤 +## request接口开发步骤 1. 从@ohos.net.http.d.ts中导入http命名空间。 2. 调用createHttp()方法,创建一个HttpRequest对象。 @@ -83,7 +83,7 @@ httpRequest.request( console.info('error:' + JSON.stringify(err)); // 取消订阅HTTP响应头事件 httpRequest.off('headersReceive'); - // 当该请求使用完毕时,调用destroy方法主动销毁。 + // 当该请求使用完毕时,调用destroy方法主动销毁 httpRequest.destroy(); } } diff --git a/zh-cn/application-dev/connectivity/socket-connection.md b/zh-cn/application-dev/connectivity/socket-connection.md index ab896fdfe7ac0b9c5669b2df7e12614b30867c9d..c9c195c94451b77476afa6cafca456ce96a5ad50 100644 --- a/zh-cn/application-dev/connectivity/socket-connection.md +++ b/zh-cn/application-dev/connectivity/socket-connection.md @@ -49,6 +49,7 @@ TLS Socket连接主要由tls_socket模块提供。具体接口说明如下表。 | 接口名 | 功能描述 | | -------- | -------- | +| constructTLSSocketInstance() | 创建一个TLSSocket对象。 | | bind() | 绑定IP地址和端口号。 | | close(type: 'error') | 关闭连接。 | | connect() | 连接到指定的IP地址和端口。 | diff --git a/zh-cn/application-dev/media/audio-capturer.md b/zh-cn/application-dev/media/audio-capturer.md index 3d4ecec3a0bb0bbfa9ba8987f140e41659df4f59..451362be0bc16f24039f8aabea0c1bc7e12eb15f 100644 --- a/zh-cn/application-dev/media/audio-capturer.md +++ b/zh-cn/application-dev/media/audio-capturer.md @@ -27,32 +27,42 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 详细API含义可参考:[音频管理API文档AudioCapturer](../reference/apis/js-apis-audio.md#audiocapturer8) -1. 使用createAudioCapturer()创建一个AudioCapturer实例。 +1. 使用createAudioCapturer()创建一个全局的AudioCapturer实例。 在audioCapturerOptions中设置音频采集器的相关参数。该实例可用于音频采集、控制和获取采集状态,以及注册通知回调。 ```js - import audio from '@ohos.multimedia.audio'; - - let audioStreamInfo = { - samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, - channels: audio.AudioChannel.CHANNEL_1, - sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, - encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW - } - - let audioCapturerInfo = { - source: audio.SourceType.SOURCE_TYPE_MIC, - capturerFlags: 0 // 0是音频采集器的扩展标志位,默认为0 - } - - let audioCapturerOptions = { - streamInfo: audioStreamInfo, - capturerInfo: audioCapturerInfo - } - - let audioCapturer = await audio.createAudioCapturer(audioCapturerOptions); - console.log('AudioRecLog: Create audio capturer success.'); + import audio from '@ohos.multimedia.audio'; + import fs from '@ohos.file.fs'; //便于步骤3 read函数调用 + + //音频渲染相关接口自测试 + @Entry + @Component + struct AudioRenderer { + @State message: string = 'Hello World' + private audioCapturer : audio.AudioCapturer; //供全局调用 + + async initAudioCapturer(){ + let audioStreamInfo = { + samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, + channels: audio.AudioChannel.CHANNEL_1, + sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, + encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW + } + + let audioCapturerInfo = { + source: audio.SourceType.SOURCE_TYPE_MIC, + capturerFlags: 0 // 0是音频采集器的扩展标志位,默认为0 + } + + let audioCapturerOptions = { + streamInfo: audioStreamInfo, + capturerInfo: audioCapturerInfo + } + + this.audioCapturer = await audio.createAudioCapturer(audioCapturerOptions); + console.log('AudioRecLog: Create audio capturer success.'); + } ``` 2. 调用start()方法来启动/恢复采集任务。 @@ -60,23 +70,18 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 启动完成后,采集器状态将变更为STATE_RUNNING,然后应用可以开始读取缓冲区。 ```js - import audio from '@ohos.multimedia.audio'; - - async function startCapturer() { - let state = audioCapturer.state; + async startCapturer() { + let state = this.audioCapturer.state; // Capturer start时的状态应该是STATE_PREPARED、STATE_PAUSED和STATE_STOPPED之一. - if (state != audio.AudioState.STATE_PREPARED || state != audio.AudioState.STATE_PAUSED || - state != audio.AudioState.STATE_STOPPED) { - console.info('Capturer is not in a correct state to start'); - return; - } - await audioCapturer.start(); - - state = audioCapturer.state; - if (state == audio.AudioState.STATE_RUNNING) { - console.info('AudioRecLog: Capturer started'); - } else { - console.error('AudioRecLog: Capturer start failed'); + if (state == audio.AudioState.STATE_PREPARED || state == audio.AudioState.STATE_PAUSED || + state == audio.AudioState.STATE_STOPPED) { + await this.audioCapturer.start(); + state = this.audioCapturer.state; + if (state == audio.AudioState.STATE_RUNNING) { + console.info('AudioRecLog: Capturer started'); + } else { + console.error('AudioRecLog: Capturer start failed'); + } } } ``` @@ -86,91 +91,88 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 参考以下示例,将采集到的数据写入文件。 ```js - import fs from '@ohos.file.fs'; - - let state = audioCapturer.state; - // 只有状态为STATE_RUNNING的时候才可以read. - if (state != audio.AudioState.STATE_RUNNING) { - console.info('Capturer is not in a correct state to read'); - return; - } - - const path = '/data/data/.pulse_dir/capture_js.wav'; // 采集到的音频文件存储路径 - let file = fs.openSync(filePath, 0o2); - let fd = file.fd; - if (file !== null) { - console.info('AudioRecLog: file created'); - } else { - console.info('AudioRecLog: file create : FAILED'); - return; - } - - if (fd !== null) { - console.info('AudioRecLog: file fd opened in append mode'); - } - - let numBuffersToCapture = 150; // 循环写入150次 - let count = 0; - while (numBuffersToCapture) { - let bufferSize = await audioCapturer.getBufferSize(); - let buffer = await audioCapturer.read(bufferSize, true); - let options = { - offset: count * this.bufferSize, - length: this.bufferSize + async readData(){ + let state = this.audioCapturer.state; + // 只有状态为STATE_RUNNING的时候才可以read. + if (state != audio.AudioState.STATE_RUNNING) { + console.info('Capturer is not in a correct state to read'); + return; } - if (typeof(buffer) == undefined) { - console.info('AudioRecLog: read buffer failed'); + const path = '/data/data/.pulse_dir/capture_js.wav'; // 采集到的音频文件存储路径 + let file = fs.openSync(path, 0o2); + let fd = file.fd; + if (file !== null) { + console.info('AudioRecLog: file created'); } else { - let number = fs.writeSync(fd, buffer, options); - console.info(`AudioRecLog: data written: ${number}`); - } - numBuffersToCapture--; - count++; + console.info('AudioRecLog: file create : FAILED'); + return; + } + if (fd !== null) { + console.info('AudioRecLog: file fd opened in append mode'); + } + let numBuffersToCapture = 150; // 循环写入150次 + let count = 0; + while (numBuffersToCapture) { + this.bufferSize = await this.audioCapturer.getBufferSize(); + let buffer = await this.audioCapturer.read(this.bufferSize, true); + let options = { + offset: count * this.bufferSize, + length: this.bufferSize + } + if (typeof(buffer) == undefined) { + console.info('AudioRecLog: read buffer failed'); + } else { + let number = fs.writeSync(fd, buffer, options); + console.info(`AudioRecLog: data written: ${number}`); + } + numBuffersToCapture--; + count++; + } } ``` 4. 采集完成后,调用stop方法,停止录制。 ```js - async function StopCapturer() { - let state = audioCapturer.state; - // 只有采集器状态为STATE_RUNNING或STATE_PAUSED的时候才可以停止 - if (state != audio.AudioState.STATE_RUNNING && state != audio.AudioState.STATE_PAUSED) { - console.info('AudioRecLog: Capturer is not running or paused'); - return; - } - - await audioCapturer.stop(); - - state = audioCapturer.state; - if (state == audio.AudioState.STATE_STOPPED) { - console.info('AudioRecLog: Capturer stopped'); - } else { - console.error('AudioRecLog: Capturer stop failed'); - } - } + async StopCapturer() { + let state = this.audioCapturer.state; + // 只有采集器状态为STATE_RUNNING或STATE_PAUSED的时候才可以停止 + if (state != audio.AudioState.STATE_RUNNING && state != audio.AudioState.STATE_PAUSED) { + console.info('AudioRecLog: Capturer is not running or paused'); + return; + } + + await this.audioCapturer.stop(); + + state = this.audioCapturer.state; + if (state == audio.AudioState.STATE_STOPPED) { + console.info('AudioRecLog: Capturer stopped'); + } else { + console.error('AudioRecLog: Capturer stop failed'); + } + } ``` 5. 任务结束,调用release()方法释放相关资源。 ```js - async function releaseCapturer() { - let state = audioCapturer.state; - // 采集器状态不是STATE_RELEASED或STATE_NEW状态,才能release - if (state == audio.AudioState.STATE_RELEASED || state == audio.AudioState.STATE_NEW) { - console.info('AudioRecLog: Capturer already released'); - return; - } - - await audioCapturer.release(); - - state = audioCapturer.state; - if (state == audio.AudioState.STATE_RELEASED) { - console.info('AudioRecLog: Capturer released'); - } else { - console.info('AudioRecLog: Capturer release failed'); - } - } + async releaseCapturer() { + let state = this.audioCapturer.state; + // 采集器状态不是STATE_RELEASED或STATE_NEW状态,才能release + if (state == audio.AudioState.STATE_RELEASED || state == audio.AudioState.STATE_NEW) { + console.info('AudioRecLog: Capturer already released'); + return; + } + + await this.audioCapturer.release(); + + state = this.audioCapturer.state; + if (state == audio.AudioState.STATE_RELEASED) { + console.info('AudioRecLog: Capturer released'); + } else { + console.info('AudioRecLog: Capturer release failed'); + } + } ``` 6. (可选)获取采集器相关信息 @@ -178,23 +180,20 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 通过以下代码,可以获取采集器的相关信息。 ```js - // 获取当前采集器状态 - let state = audioCapturer.state; - - // 获取采集器信息 - let audioCapturerInfo : audio.AuduioCapturerInfo = await audioCapturer.getCapturerInfo(); - - // 获取音频流信息 - let audioStreamInfo : audio.AudioStreamInfo = await audioCapturer.getStreamInfo(); - - // 获取音频流ID - let audioStreamId : number = await audioCapturer.getAudioStreamId(); - - // 获取纳秒形式的Unix时间戳 - let audioTime : number = await audioCapturer.getAudioTime(); - - // 获取合理的最小缓冲区大小 - let bufferSize : number = await audioCapturer.getBufferSize(); + async getAudioCapturerInfo(){ + // 获取当前采集器状态 + let state = this.audioCapturer.state; + // 获取采集器信息 + let audioCapturerInfo : audio.AudioCapturerInfo = await this.audioCapturer.getCapturerInfo(); + // 获取音频流信息 + let audioStreamInfo : audio.AudioStreamInfo = await this.audioCapturer.getStreamInfo(); + // 获取音频流ID + let audioStreamId : number = await this.audioCapturer.getAudioStreamId(); + // 获取纳秒形式的Unix时间戳 + let audioTime : number = await this.audioCapturer.getAudioTime(); + // 获取合理的最小缓冲区大小 + let bufferSize : number = await this.audioCapturer.getBufferSize(); + } ``` 7. (可选)使用on('markReach')方法订阅采集器标记到达事件,使用off('markReach')取消订阅事件。 @@ -202,12 +201,13 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 注册markReach监听后,当采集器采集的帧数到达设定值时,会触发回调并返回设定的值。 ```js - audioCapturer.on('markReach', (reachNumber) => { - console.info('Mark reach event Received'); - console.info(`The Capturer reached frame: ${reachNumber}`); - }); - - audioCapturer.off('markReach'); // 取消markReach事件的订阅,后续将无法监听到“标记到达”事件 + async markReach(){ + this.audioCapturer.on('markReach', 10, (reachNumber) => { + console.info('Mark reach event Received'); + console.info(`The Capturer reached frame: ${reachNumber}`); + }); + this.audioCapturer.off('markReach'); // 取消markReach事件的订阅,后续将无法监听到“标记到达”事件 + } ``` 8. (可选)使用on('periodReach')方法订阅采集器区间标记到达事件,使用off('periodReach')取消订阅事件。 @@ -215,40 +215,43 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 注册periodReach监听后,**每当**采集器采集的帧数到达设定值时,会触发回调并返回设定的值。 ```js - audioCapturer.on('periodReach', (reachNumber) => { - console.info('Period reach event Received'); - console.info(`In this period, the Capturer reached frame: ${reachNumber}`); - }); - - audioCapturer.off('periodReach'); // 取消periodReach事件的订阅,后续将无法监听到“区间标记到达”事件 + async periodReach(){ + this.audioCapturer.on('periodReach', 10, (reachNumber) => { + console.info('Period reach event Received'); + console.info(`In this period, the Capturer reached frame: ${reachNumber}`); + }); + this.audioCapturer.off('periodReach'); // 取消periodReach事件的订阅,后续将无法监听到“区间标记到达”事件 + } ``` 9. 如果应用需要在采集器状态更新时进行一些操作,可以订阅该事件,当采集器状态更新时,会受到一个包含有事件类型的回调。 ```js - audioCapturer.on('stateChange', (state) => { - console.info(`AudioCapturerLog: Changed State to : ${state}`) - switch (state) { - case audio.AudioState.STATE_PREPARED: - console.info('--------CHANGE IN AUDIO STATE----------PREPARED--------------'); - console.info('Audio State is : Prepared'); - break; - case audio.AudioState.STATE_RUNNING: - console.info('--------CHANGE IN AUDIO STATE----------RUNNING--------------'); - console.info('Audio State is : Running'); - break; - case audio.AudioState.STATE_STOPPED: - console.info('--------CHANGE IN AUDIO STATE----------STOPPED--------------'); - console.info('Audio State is : stopped'); - break; - case audio.AudioState.STATE_RELEASED: - console.info('--------CHANGE IN AUDIO STATE----------RELEASED--------------'); - console.info('Audio State is : released'); - break; - default: - console.info('--------CHANGE IN AUDIO STATE----------INVALID--------------'); - console.info('Audio State is : invalid'); - break; - } - }); + async stateChange(){ + this.audioCapturer.on('stateChange', (state) => { + console.info(`AudioCapturerLog: Changed State to : ${state}`) + switch (state) { + case audio.AudioState.STATE_PREPARED: + console.info('--------CHANGE IN AUDIO STATE----------PREPARED--------------'); + console.info('Audio State is : Prepared'); + break; + case audio.AudioState.STATE_RUNNING: + console.info('--------CHANGE IN AUDIO STATE----------RUNNING--------------'); + console.info('Audio State is : Running'); + break; + case audio.AudioState.STATE_STOPPED: + console.info('--------CHANGE IN AUDIO STATE----------STOPPED--------------'); + console.info('Audio State is : stopped'); + break; + case audio.AudioState.STATE_RELEASED: + console.info('--------CHANGE IN AUDIO STATE----------RELEASED--------------'); + console.info('Audio State is : released'); + break; + default: + console.info('--------CHANGE IN AUDIO STATE----------INVALID--------------'); + console.info('Audio State is : invalid'); + break; + } + }); + } ``` \ No newline at end of file diff --git a/zh-cn/application-dev/media/audio-renderer.md b/zh-cn/application-dev/media/audio-renderer.md index c99137e34763e598fa687cd7211870d2432a2c98..0f9436fc3b7d9e015d71869dc9739e7f5124e154 100644 --- a/zh-cn/application-dev/media/audio-renderer.md +++ b/zh-cn/application-dev/media/audio-renderer.md @@ -28,47 +28,59 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 详细API含义可参考:[音频管理API文档AudioRenderer](../reference/apis/js-apis-audio.md#audiorenderer8) -1. 使用createAudioRenderer()创建一个AudioRenderer实例。 +1. 使用createAudioRenderer()创建一个全局的AudioRenderer实例,以便后续步骤使用。 在audioRendererOptions中设置相关参数。该实例可用于音频渲染、控制和获取渲染状态,以及注册通知回调。 ```js - import audio from '@ohos.multimedia.audio'; - - let audioStreamInfo = { - samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, - channels: audio.AudioChannel.CHANNEL_1, - sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, - encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW - } - let audioRendererInfo = { - content: audio.ContentType.CONTENT_TYPE_SPEECH, - usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, - rendererFlags: 0 // 0是音频渲染器的扩展标志位,默认为0 - } - let audioRendererOptions = { - streamInfo: audioStreamInfo, - rendererInfo: audioRendererInfo - } - - let audioRenderer = await audio.createAudioRenderer(audioRendererOptions); - console.log("Create audio renderer success."); + import audio from '@ohos.multimedia.audio'; + import fs from '@ohos.file.fs'; + + //音频渲染相关接口自测试 + @Entry + @Component + struct AudioRenderer1129 { + private audioRenderer: audio.AudioRenderer; + private bufferSize;//便于步骤3 write函数调用使用 + private audioRenderer1: audio.AudioRenderer; //便于步骤14 完整示例调用使用 + private audioRenderer2: audio.AudioRenderer; //便于步骤14 完整示例调用使用 + + async initAudioRender(){ + let audioStreamInfo = { + samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100, + channels: audio.AudioChannel.CHANNEL_1, + sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, + encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW + } + let audioRendererInfo = { + content: audio.ContentType.CONTENT_TYPE_SPEECH, + usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION, + rendererFlags: 0 // 0是音频渲染器的扩展标志位,默认为0 + } + let audioRendererOptions = { + streamInfo: audioStreamInfo, + rendererInfo: audioRendererInfo + } + this.audioRenderer = await audio.createAudioRenderer(audioRendererOptions); + console.log("Create audio renderer success."); + } + } ``` 2. 调用start()方法来启动/恢复播放任务。 ```js - async function startRenderer() { - let state = audioRenderer.state; + async startRenderer() { + let state = this.audioRenderer.state; // Renderer start时的状态应该是STATE_PREPARED、STATE_PAUSED和STATE_STOPPED之一. if (state != audio.AudioState.STATE_PREPARED && state != audio.AudioState.STATE_PAUSED && - state != audio.AudioState.STATE_STOPPED) { + state != audio.AudioState.STATE_STOPPED) { console.info('Renderer is not in a correct state to start'); return; } - - await audioRenderer.start(); - - state = audioRenderer.state; + + await this.audioRenderer.start(); + + state = this.audioRenderer.state; if (state == audio.AudioState.STATE_RUNNING) { console.info('Renderer started'); } else { @@ -81,111 +93,97 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 3. 调用write()方法向缓冲区写入数据。 - 将需要播放的音频数据读入缓冲区,重复调用write()方法写入。 + 将需要播放的音频数据读入缓冲区,重复调用write()方法写入。请注意引入“import fs from '@ohos.file.fs';”,具体请参考步骤1。 ```js - import fs from '@ohos.file.fs'; - import audio from '@ohos.multimedia.audio'; - - async function writeBuffer(buf) { - // 写入数据时,渲染器的状态必须为STATE_RUNNING - if (audioRenderer.state != audio.AudioState.STATE_RUNNING) { - console.error('Renderer is not running, do not write'); - return; - } - let writtenbytes = await audioRenderer.write(buf); - console.info(`Actual written bytes: ${writtenbytes} `); - if (writtenbytes < 0) { - console.error('Write buffer failed. check the state of renderer'); - } - } - - // 此处是渲染器的合理的最小缓冲区大小(也可以选择其它大小的缓冲区) - const bufferSize = await audioRenderer.getBufferSize(); - let dir = globalThis.fileDir; //不可直接访问,没权限,切记!!!一定要使用沙箱路径 - const filePath = dir + '/file_example_WAV_2MG.wav'; // 需要渲染的音乐文件 实际路径为:/data/storage/el2/base/haps/entry/files/file_example_WAV_2MG.wav - console.info(`file filePath: ${ filePath}`); - - let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); - let stat = await fs.stat(filePath); //音乐文件信息 - let buf = new ArrayBuffer(bufferSize); - let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); - for (let i = 0;i < len; i++) { - let options = { - offset: i * this.bufferSize, - length: this.bufferSize - } - let readsize = await fs.read(file.fd, buf, options) - let writeSize = await new Promise((resolve,reject)=>{ - this.audioRenderer.write(buf,(err,writeSize)=>{ - if(err){ - reject(err) - }else{ - resolve(writeSize) - } + async writeData(){ + // 此处是渲染器的合理的最小缓冲区大小(也可以选择其它大小的缓冲区) + this.bufferSize = await this.audioRenderer.getBufferSize(); + let dir = globalThis.fileDir; //不可直接访问,没权限,切记!!!一定要使用沙箱路径 + const filePath = dir + '/file_example_WAV_2MG.wav'; // 需要渲染的音乐文件 实际路径为:/data/storage/el2/base/haps/entry/files/file_example_WAV_2MG.wav + console.info(`file filePath: ${ filePath}`); + + let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); + let stat = await fs.stat(filePath); //音乐文件信息 + let buf = new ArrayBuffer(this.bufferSize); + let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); + for (let i = 0;i < len; i++) { + let options = { + offset: i * this.bufferSize, + length: this.bufferSize + } + let readsize = await fs.read(file.fd, buf, options) + let writeSize = await new Promise((resolve,reject)=>{ + this.audioRenderer.write(buf,(err,writeSize)=>{ + if(err){ + reject(err) + }else{ + resolve(writeSize) + } + }) }) - }) + } + + fs.close(file) + await this.audioRenderer.stop(); //停止渲染 + await this.audioRenderer.release(); //释放资源 } - - fs.close(file) - await audioRenderer.stop(); //停止渲染 - await audioRenderer.release(); //释放资源 ``` 4. (可选)调用pause()方法或stop()方法暂停/停止渲染音频数据。 ```js - async function pauseRenderer() { - let state = audioRenderer.state; - // 只有渲染器状态为STATE_RUNNING的时候才能暂停 - if (state != audio.AudioState.STATE_RUNNING) { - console.info('Renderer is not running'); - return; - } - - await audioRenderer.pause(); - - state = audioRenderer.state; - if (state == audio.AudioState.STATE_PAUSED) { - console.info('Renderer paused'); - } else { - console.error('Renderer pause failed'); - } - } - - async function stopRenderer() { - let state = audioRenderer.state; - // 只有渲染器状态为STATE_RUNNING或STATE_PAUSED的时候才可以停止 - if (state != audio.AudioState.STATE_RUNNING && state != audio.AudioState.STATE_PAUSED) { - console.info('Renderer is not running or paused'); - return; - } - - await audioRenderer.stop(); - - state = audioRenderer.state; - if (state == audio.AudioState.STATE_STOPPED) { - console.info('Renderer stopped'); - } else { - console.error('Renderer stop failed'); - } - } + async pauseRenderer() { + let state = this.audioRenderer.state; + // 只有渲染器状态为STATE_RUNNING的时候才能暂停 + if (state != audio.AudioState.STATE_RUNNING) { + console.info('Renderer is not running'); + return; + } + + await this.audioRenderer.pause(); + + state = this.audioRenderer.state; + if (state == audio.AudioState.STATE_PAUSED) { + console.info('Renderer paused'); + } else { + console.error('Renderer pause failed'); + } + } + + async stopRenderer() { + let state = this.audioRenderer.state; + // 只有渲染器状态为STATE_RUNNING或STATE_PAUSED的时候才可以停止 + if (state != audio.AudioState.STATE_RUNNING && state != audio.AudioState.STATE_PAUSED) { + console.info('Renderer is not running or paused'); + return; + } + + await this.audioRenderer.stop(); + + state = this.audioRenderer.state; + if (state == audio.AudioState.STATE_STOPPED) { + console.info('Renderer stopped'); + } else { + console.error('Renderer stop failed'); + } + } ``` 5. (可选)调用drain()方法清空缓冲区。 ```js - async function drainRenderer() { - let state = audioRenderer.state; - // 只有渲染器状态为STATE_RUNNING的时候才能使用drain() - if (state != audio.AudioState.STATE_RUNNING) { - console.info('Renderer is not running'); - return; - } - - await audioRenderer.drain(); - state = audioRenderer.state; + async drainRenderer() { + let state = this.audioRenderer.state; + // 只有渲染器状态为STATE_RUNNING的时候才能使用drain() + if (state != audio.AudioState.STATE_RUNNING) { + console.info('Renderer is not running'); + return; } + + await this.audioRenderer.drain(); + state = this.audioRenderer.state; + } ``` 6. 任务完成,调用release()方法释放相关资源。 @@ -193,22 +191,22 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 AudioRenderer会使用大量的系统资源,所以请确保完成相关任务后,进行资源释放。 ```js - async function releaseRenderer() { - let state = audioRenderer.state; - // 渲染器状态不是STATE_RELEASED或STATE_NEW状态,才能release - if (state == audio.AudioState.STATE_RELEASED || state == audio.AudioState.STATE_NEW) { - console.info('Renderer already released'); - return; - } - await audioRenderer.release(); + async releaseRenderer() { + let state = this.audioRenderer.state; + // 渲染器状态不是STATE_RELEASED或STATE_NEW状态,才能release + if (state == audio.AudioState.STATE_RELEASED || state == audio.AudioState.STATE_NEW) { + console.info('Renderer already released'); + return; + } + await this.audioRenderer.release(); - state = audioRenderer.state; - if (state == audio.AudioState.STATE_RELEASED) { - console.info('Renderer released'); - } else { - console.info('Renderer release failed'); - } + state = this.audioRenderer.state; + if (state == audio.AudioState.STATE_RELEASED) { + console.info('Renderer released'); + } else { + console.info('Renderer release failed'); } + } ``` 7. (可选)获取渲染器相关信息 @@ -216,26 +214,22 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 通过以下代码,可以获取渲染器的相关信息。 ```js - // 获取当前渲染器状态 - let state = audioRenderer.state; - - // 获取渲染器信息 - let audioRendererInfo : audio.AudioRendererInfo = await audioRenderer.getRendererInfo(); - - // 获取音频流信息 - let audioStreamInfo : audio.AudioStreamInfo = await audioRenderer.getStreamInfo(); - - // 获取音频流ID - let audioStreamId : number = await audioRenderer.getAudioStreamId(); - - // 获取纳秒形式的Unix时间戳 - let audioTime : number = await audioRenderer.getAudioTime(); - - // 获取合理的最小缓冲区大小 - let bufferSize : number = await audioRenderer.getBufferSize(); - - // 获取渲染速率 - let renderRate : audio.AudioRendererRate = await audioRenderer.getRenderRate(); + async getRenderInfo(){ + // 获取当前渲染器状态 + let state = this.audioRenderer.state; + // 获取渲染器信息 + let audioRendererInfo : audio.AudioRendererInfo = await this.audioRenderer.getRendererInfo(); + // 获取音频流信息 + let audioStreamInfo : audio.AudioStreamInfo = await this.audioRenderer.getStreamInfo(); + // 获取音频流ID + let audioStreamId : number = await this.audioRenderer.getAudioStreamId(); + // 获取纳秒形式的Unix时间戳 + let audioTime : number = await this.audioRenderer.getAudioTime(); + // 获取合理的最小缓冲区大小 + let bufferSize : number = await this.audioRenderer.getBufferSize(); + // 获取渲染速率 + let renderRate : audio.AudioRendererRate = await this.audioRenderer.getRenderRate(); + } ``` 8. (可选)设置渲染器相关信息 @@ -243,17 +237,17 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 通过以下代码,可以设置渲染器的相关信息。 ```js - // 设置渲染速率为正常速度 - let renderRate : audio.AudioRendererRate = audio.AudioRendererRate.RENDER_RATE_NORMAL; - await audioRenderer.setRenderRate(renderRate); - - // 设置渲染器音频中断模式为SHARE_MODE - let interruptMode : audio.InterruptMode = audio.InterruptMode.SHARE_MODE; - await audioRenderer.setInterruptMode(interruptMode); - - // 设置一个流的音量为0.5 - let volume : number = 0.5; - await audioRenderer.setVolume(volume); + async setAudioRenderInfo(){ + // 设置渲染速率为正常速度 + let renderRate : audio.AudioRendererRate = audio.AudioRendererRate.RENDER_RATE_NORMAL; + await this.audioRenderer.setRenderRate(renderRate); + // 设置渲染器音频中断模式为SHARE_MODE + let interruptMode : audio.InterruptMode = audio.InterruptMode.SHARE_MODE; + await this.audioRenderer.setInterruptMode(interruptMode); + // 设置一个流的音量为0.5 + let volume : number = 0.5; + await this.audioRenderer.setVolume(volume); + } ``` 9. (可选)使用on('audioInterrupt')方法订阅渲染器音频中断事件,使用off('audioInterrupt')取消订阅事件。 @@ -267,45 +261,45 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 需要说明的是,本模块的订阅音频中断事件与[AudioManager](../reference/apis/js-apis-audio.md#audiomanager)模块中的on('interrupt')稍有不同。自api9以来,on('interrupt')和off('interrupt')均被废弃。在AudioRenderer模块,当开发者需要监听焦点变化事件时,只需要调用on('audioInterrupt')函数,当应用内部的AudioRenderer对象在start\stop\pause等动作发生时,会主动请求焦点,从而发生焦点转移,相关的AudioRenderer对象即可获取到对应的回调信息。但对除AudioRenderer的其他对象,例如FM、语音唤醒等,应用不会创建对象,此时可调用AudioManager中的on('interrupt')获取焦点变化通知。 ```js - audioRenderer.on('audioInterrupt', (interruptEvent) => { - console.info('InterruptEvent Received'); - console.info(`InterruptType: ${interruptEvent.eventType}`); - console.info(`InterruptForceType: ${interruptEvent.forceType}`); - console.info(`AInterruptHint: ${interruptEvent.hintType}`); - - if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { - switch (interruptEvent.hintType) { + async subscribeAudioRender(){ + this.audioRenderer.on('audioInterrupt', (interruptEvent) => { + console.info('InterruptEvent Received'); + console.info(`InterruptType: ${interruptEvent.eventType}`); + console.info(`InterruptForceType: ${interruptEvent.forceType}`); + console.info(`AInterruptHint: ${interruptEvent.hintType}`); + + if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { + switch (interruptEvent.hintType) { // 音频框架发起的强制暂停操作,为防止数据丢失,此时应该停止数据的写操作 - case audio.InterruptHint.INTERRUPT_HINT_PAUSE: - isPlay = false; - break; + case audio.InterruptHint.INTERRUPT_HINT_PAUSE: + console.info('isPlay is false'); + break; // 音频框架发起的强制停止操作,为防止数据丢失,此时应该停止数据的写操作 - case audio.InterruptHint.INTERRUPT_HINT_STOP: - isPlay = false; - break; + case audio.InterruptHint.INTERRUPT_HINT_STOP: + console.info('isPlay is false'); + break; // 音频框架发起的强制降低音量操作 - case audio.InterruptHint.INTERRUPT_HINT_DUCK: - break; + case audio.InterruptHint.INTERRUPT_HINT_DUCK: + break; // 音频框架发起的恢复音量操作 - case audio.InterruptHint.INTERRUPT_HINT_UNDUCK: - break; - } - } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) { - switch (interruptEvent.hintType) { + case audio.InterruptHint.INTERRUPT_HINT_UNDUCK: + break; + } + } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) { + switch (interruptEvent.hintType) { // 提醒App开始渲染 - case audio.InterruptHint.INTERRUPT_HINT_RESUME: - startRenderer(); - break; + case audio.InterruptHint.INTERRUPT_HINT_RESUME: + this.startRenderer(); + break; // 提醒App音频流被中断,由App自主决定是否继续(此处选择暂停) - case audio.InterruptHint.INTERRUPT_HINT_PAUSE: - isPlay = false; - pauseRenderer(); - break; + case audio.InterruptHint.INTERRUPT_HINT_PAUSE: + console.info('isPlay is false'); + this.pauseRenderer(); + break; + } } - } - }); - - audioRenderer.off('audioInterrupt'); // 取消音频中断事件的订阅,后续将无法监听到音频中断事件 + }); + } ``` 10. (可选)使用on('markReach')方法订阅渲染器标记到达事件,使用off('markReach')取消订阅事件。 @@ -313,12 +307,14 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 注册markReach监听后,当渲染器渲染的帧数到达设定值时,会触发回调并返回设定的值。 ```js - audioRenderer.on('markReach', (reachNumber) => { - console.info('Mark reach event Received'); - console.info(`The renderer reached frame: ${reachNumber}`); - }); - - audioRenderer.off('markReach'); // 取消markReach事件的订阅,后续将无法监听到“标记到达”事件 + async markReach(){ + this.audioRenderer.on('markReach', 50, (position) => { + if (position == 50) { + console.info('ON Triggered successfully'); + } + }); + this.audioRenderer.off('markReach'); // 取消markReach事件的订阅,后续将无法监听到“标记到达”事件 + } ``` 11. (可选)使用on('periodReach')方法订阅渲染器区间标记到达事件,使用off('periodReach')取消订阅事件。 @@ -326,12 +322,13 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 注册periodReach监听后,**每当**渲染器渲染的帧数到达设定值时,会触发回调并返回设定的值。 ```js - audioRenderer.on('periodReach', (reachNumber) => { - console.info('Period reach event Received'); - console.info(`In this period, the renderer reached frame: ${reachNumber} `); - }); - - audioRenderer.off('periodReach'); // 取消periodReach事件的订阅,后续将无法监听到“区间标记到达”事件 + async periodReach(){ + this.audioRenderer.on('periodReach',10, (reachNumber) => { + console.info(`In this period, the renderer reached frame: ${reachNumber} `); + }); + + this.audioRenderer.off('periodReach'); // 取消periodReach事件的订阅,后续将无法监听到“区间标记到达”事件 + } ``` 12. (可选)使用on('stateChange')方法订阅渲染器音频状态变化事件。 @@ -339,10 +336,12 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 注册stateChange监听后,当渲染器的状态发生改变时,会触发回调并返回当前渲染器的状态。 ```js - audioRenderer.on('stateChange', (audioState) => { - console.info('State change event Received'); - console.info(`Current renderer state is: ${audioState}`); - }); + async stateChange(){ + this.audioRenderer.on('stateChange', (audioState) => { + console.info('State change event Received'); + console.info(`Current renderer state is: ${audioState}`); + }); + } ``` 13. (可选)对on()方法的异常处理。 @@ -350,21 +349,24 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 在使用on()方法时,如果传入的字符串错误或传入的参数类型错误,程序会抛出异常,需要用try catch来捕获。 ```js - try { - audioRenderer.on('invalidInput', () => { // 字符串不匹配 - }) - } catch (err) { - console.info(`Call on function error, ${err}`); // 程序抛出401异常 - } - try { - audioRenderer.on(1, () => { // 入参类型错误 - }) - } catch (err) { - console.info(`Call on function error, ${err}`); // 程序抛出6800101异常 + async errorCall(){ + try { + this.audioRenderer.on('invalidInput', () => { // 字符串不匹配 + }) + } catch (err) { + console.info(`Call on function error, ${err}`); // 程序抛出401异常 + } + try { + this.audioRenderer.on(1, () => { // 入参类型错误 + }) + } catch (err) { + console.info(`Call on function error, ${err}`); // 程序抛出6800101异常 + } } ``` 14. (可选)on('audioInterrupt')方法完整示例。 + 请注意:在调用前声明audioRenderer1与audioRenderer2对象,具体请参考步骤1。 同一个应用中的AudioRender1和AudioRender2在创建时均设置了焦点模式为独立,并且调用on('audioInterrupt')监听焦点变化。刚开始AudioRender1拥有焦点,当AudioRender2获取到焦点时,audioRenderer1将收到焦点转移的通知,打印相关日志。如果AudioRender1和AudioRender2不将焦点模式设置为独立,则监听处理中的日志在应用运行过程中永远不会被打印。 ```js async runningAudioRender1(){ @@ -383,31 +385,31 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 streamInfo: audioStreamInfo, rendererInfo: audioRendererInfo } - + //1.1 创建对象 - audioRenderer1 = await audio.createAudioRenderer(audioRendererOptions); + this.audioRenderer1 = await audio.createAudioRenderer(audioRendererOptions); console.info("Create audio renderer 1 success."); - + //1.2 设置焦点模式为独立模式 :1 - audioRenderer1.setInterruptMode(1).then( data => { + this.audioRenderer1.setInterruptMode(1).then( data => { console.info('audioRenderer1 setInterruptMode Success!'); }).catch((err) => { console.error(`audioRenderer1 setInterruptMode Fail: ${err}`); }); - + //1.3 设置监听 - audioRenderer1.on('audioInterrupt', async(interruptEvent) => { + this.audioRenderer1.on('audioInterrupt', async(interruptEvent) => { console.info(`audioRenderer1 on audioInterrupt : ${JSON.stringify(interruptEvent)}`) }); - + //1.4 启动渲染 - await audioRenderer1.start(); + await this.audioRenderer1.start(); console.info('startAudioRender1 success'); - + //1.5 获取缓存区大小,此处是渲染器的合理的最小缓冲区大小(也可以选择其它大小的缓冲区) - const bufferSize = await audioRenderer1.getBufferSize(); + const bufferSize = await this.audioRenderer1.getBufferSize(); console.info(`audio bufferSize: ${bufferSize}`); - + //1.6 获取原始音频数据文件 let dir = globalThis.fileDir; //不可直接访问,没权限,切记!!!一定要使用沙箱路径 const path1 = dir + '/music001_48000_32_1.wav'; // 需要渲染的音乐文件 实际路径为:/data/storage/el2/base/haps/entry/files/music001_48000_32_1.wav @@ -416,14 +418,14 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 let stat = await fs.stat(path1); //音乐文件信息 let buf = new ArrayBuffer(bufferSize); let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); - + //1.7 通过audioRender对缓存区的原始音频数据进行渲染 for (let i = 0;i < len; i++) { let options = { offset: i * this.bufferSize, length: this.bufferSize } - let readsize = await fs.read(file.fd, buf, options) + let readsize = await fs.read(file1.fd, buf, options) let writeSize = await new Promise((resolve,reject)=>{ this.audioRenderer1.write(buf,(err,writeSize)=>{ if(err){ @@ -432,13 +434,13 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 resolve(writeSize) } }) - }) + }) } fs.close(file1) - await audioRenderer1.stop(); //停止渲染 - await audioRenderer1.release(); //释放资源 + await this.audioRenderer1.stop(); //停止渲染 + await this.audioRenderer1.release(); //释放资源 } - + async runningAudioRender2(){ let audioStreamInfo = { samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_48000, @@ -455,31 +457,31 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 streamInfo: audioStreamInfo, rendererInfo: audioRendererInfo } - + //2.1 创建对象 - audioRenderer2 = await audio.createAudioRenderer(audioRendererOptions); + this.audioRenderer2 = await audio.createAudioRenderer(audioRendererOptions); console.info("Create audio renderer 2 success."); - + //2.2 设置焦点模式为独立模式 :1 - audioRenderer2.setInterruptMode(1).then( data => { + this.audioRenderer2.setInterruptMode(1).then( data => { console.info('audioRenderer2 setInterruptMode Success!'); }).catch((err) => { console.error(`audioRenderer2 setInterruptMode Fail: ${err}`); }); - + //2.3 设置监听 - audioRenderer2.on('audioInterrupt', async(interruptEvent) => { + this.audioRenderer2.on('audioInterrupt', async(interruptEvent) => { console.info(`audioRenderer2 on audioInterrupt : ${JSON.stringify(interruptEvent)}`) }); - + //2.4 启动渲染 - await audioRenderer2.start(); + await this.audioRenderer2.start(); console.info('startAudioRender2 success'); - + //2.5 获取缓存区大小 - const bufferSize = await audioRenderer2.getBufferSize(); + const bufferSize = await this.audioRenderer2.getBufferSize(); console.info(`audio bufferSize: ${bufferSize}`); - + //2.6 获取原始音频数据文件 let dir = globalThis.fileDir; //不可直接访问,没权限,切记!!!一定要使用沙箱路径 const path2 = dir + '/music002_48000_32_1.wav'; // 需要渲染的音乐文件 实际路径为:/data/storage/el2/base/haps/entry/files/music002_48000_32_1.wav @@ -488,14 +490,14 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 let stat = await fs.stat(path2); //音乐文件信息 let buf = new ArrayBuffer(bufferSize); let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); - + //2.7 通过audioRender对缓存区的原始音频数据进行渲染 for (let i = 0;i < len; i++) { let options = { offset: i * this.bufferSize, length: this.bufferSize } - let readsize = await fs.read(file.fd, buf, options) + let readsize = await fs.read(file2.fd, buf, options) let writeSize = await new Promise((resolve,reject)=>{ this.audioRenderer2.write(buf,(err,writeSize)=>{ if(err){ @@ -504,28 +506,17 @@ AudioRenderer提供了渲染音频文件和控制播放的接口,开发者可 resolve(writeSize) } }) - }) + }) } fs.close(file2) - await audioRenderer2.stop(); //停止渲染 - await audioRenderer2.release(); //释放资源 + await this.audioRenderer2.stop(); //停止渲染 + await this.audioRenderer2.release(); //释放资源 } - - async writeBuffer(buf, audioRender) { - let writtenbytes; - await audioRender.write(buf).then((value) => { - writtenbytes = value; - console.info(`Actual written bytes: ${writtenbytes} `); - }); - if (typeof(writtenbytes) != 'number' || writtenbytes < 0) { - console.error('get Write buffer failed. check the state of renderer'); - } - } - + //综合调用入口 async test(){ - await runningAudioRender1(); - await runningAudioRender2(); + await this.runningAudioRender1(); + await this.runningAudioRender2(); } - + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/Readme-CN.md b/zh-cn/application-dev/quick-start/Readme-CN.md index 82996bf0813c9e9d640bec4dd9fa5fbb2fe81510..34d3bb66aa5367e975ea54ff28d803b54953f79e 100755 --- a/zh-cn/application-dev/quick-start/Readme-CN.md +++ b/zh-cn/application-dev/quick-start/Readme-CN.md @@ -11,7 +11,6 @@ - 应用程序包结构 - [Stage模型应用程序包结构](application-package-structure-stage.md) - [FA模型应用程序包结构](application-package-structure-fa.md) - - [HAR包结构](har-structure.md) - 应用程序包多HAP机制 - [多HAP机制设计目标](multi-hap-objective.md) - [多HAP构建视图](multi-hap-build-view.md) @@ -20,6 +19,12 @@ - [多HAP运行机制及数据通信方式](multi-hap-principles.md) - [应用程序包安装和卸载流程](application-package-install-uninstall.md) - [应用程序包更新流程](application-package-update.md) + - 共享包 + - [共享包概述](shared-guide.md) + - [HAR](har-package.md) + - HSP + - [应用内HSP开发指导](in-app-hsp.md) + - [应用间HSP开发指导(仅对系统应用开放)](cross-app-hsp.md) - 应用程序包快速修复 - [快速修复概述](quickfix-principles.md) - [快速修复调试指导](quickfix-debug.md) diff --git a/zh-cn/application-dev/quick-start/application-package-structure-stage.md b/zh-cn/application-dev/quick-start/application-package-structure-stage.md index b484f0ab579c178fd2e1dd0a62452ee54c0e2157..41c5bc2431533a746a6367d2a90fa64809036ded 100644 --- a/zh-cn/application-dev/quick-start/application-package-structure-stage.md +++ b/zh-cn/application-dev/quick-start/application-package-structure-stage.md @@ -4,7 +4,7 @@ 基于[Stage模型](application-configuration-file-overview-stage.md)开发的应用,经编译打包后,其应用程序包结构如下图**应用程序包结构(Stage模型)**所示。开发者需要熟悉应用程序包结构相关的基本概念。 -- 在开发态,一个应用包含一个或者多个Module,可以在[DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio/)工程中[创建一个或者多个Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-adding-deleting-module-0000001218760594-V3)。Module是OpenHarmony应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。Module分为“Ability”和“Library”两种类型,“Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);“Library”类型的Module对应于[HAR](har-structure.md)(Harmony Ability Resources)包,即编译后的.tgz文件。 +- 在开发态,一个应用包含一个或者多个Module,可以在[DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio/)工程中[创建一个或者多个Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-adding-deleting-module-0000001218760594-V3)。Module是OpenHarmony应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。Module分为“Ability”和“Library”两种类型,“Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);“Library”类型的Module对应于[HAR](har-package.md)(Harmony Archive),或者[HSP](shared-guide.md)(Harmony Shared Package)。 一个Module可以包含一个或多个[UIAbility](../application-models/uiability-overview.md)组件,如**Module与UIAbility组件关系示意图**所示。 **图1** Module与UIAbility组件关系示意图 diff --git a/zh-cn/application-dev/quick-start/cross-app-hsp.md b/zh-cn/application-dev/quick-start/cross-app-hsp.md index 8b9d5f8832629a6d19659f027b9476ad45397cdd..91a8972480dc84591d93ed4284243b342eaf7aa5 100644 --- a/zh-cn/application-dev/quick-start/cross-app-hsp.md +++ b/zh-cn/application-dev/quick-start/cross-app-hsp.md @@ -1,17 +1,23 @@ # 应用间HSP开发指导 应用间`HSP`用于不同应用间的代码、资源共享。 -应用间`HSP`的宿主应用是一种特殊状态的应用,只能由一个[HSP](hsp-guide.md)包组成,不会独立运行在设备上,而是被普通应用模块的依赖项引用。当普通应用运行时,通过动态调用的方式使用应用间`HSP`提供的能力,从而实现应用自身所需要的功能。 +应用间`HSP`的宿主应用是一种特殊状态的应用,只能由一个`HSP`组成,不会独立运行在设备上,而是被普通应用模块的依赖项引用。当普通应用运行时,通过动态调用的方式使用应用间`HSP`提供的能力,从而实现应用自身所需要的功能。 + +## 注意事项 +1. 应用间`HSP`的代码会运行再开发者应用的进程中,调用相关代码时,需要做好异常捕获与容错处理,防止由于应用间`HSP`功能异常导致的稳定性问题。 +2. 一个应用可以同时依赖多个应用间`HSP`。 +3. 应用间`HSP`会影响开发者应用自身的启动时间,依赖过多的应用间`HSP`可能会导致启动时延发生明显的劣化,建议将依赖的数目控制在16个以内。 +4. 当前三方开发者开发者只能使用系统提供的应用间`HSP`,不支持开发并发布自己的应用间`HSP`。 ## 应用间HSP的使用 应用间HSP会分为两部分对外发布: -一部分为[HAR包](har-package.md),这部分`HAR`包中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将`HAR`包集成到自身的工程中,然后就可以通过调用`HAR`包中提供的对象与方法完成自身的应用功能。 +一部分为[HAR](har-package.md),这部分`HAR`中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将`HAR`集成到自身的工程中,然后就可以通过调用`HAR`中提供的对象与方法完成自身的应用功能。 -另外一部分为[HSP](hsp-guide.md),这部分为应用间`HSP`的具体实现,里面包含js/ts代码、C++库、资源和配置文件。这部分会上架到应用市场或者集成到系统版本中。 +另外一部分为HSP,这部分为应用间`HSP`的具体实现,里面包含js/ts代码、C++库、资源和配置文件。这部分会上架到应用市场或者集成到系统版本中。 -### 集成应用间HSP的HAR包 -`HAR`包中的`index.d.ets`文件是应用间`HSP`导出的声明文件的入口,所有需要导出的接口,统一在`index.d.ets`文件中定义。`index.d.ets`文件路径如下: +### 集成应用间HSP的HAR +`HAR`中的`index.d.ets`文件是应用间`HSP`导出的声明文件的入口,所有需要导出的接口,统一在`index.d.ets`文件中定义。`index.d.ets`文件路径如下: ``` src ├── main @@ -110,8 +116,8 @@ extern "C" __attribute__((constructor)) void RegisterLibaModule(void) { napi_module_register(&demoModule); } ``` -### 使用HAR包导出的能力 -引用`HAR`包前,需要先配置对`HAR`的依赖,配置方式可参考[文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。`HAR`包配置成功后,在配置模块的`module.json`中会生成相关依赖项信息,如下所示: +### 使用HAR导出的能力 +引用`HAR`前,需要先配置对`HAR`的依赖,配置方式可参考[文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。`HAR`配置成功后,在配置模块的`module.json`中会生成相关依赖项信息,如下所示: ```json "dependencies": [ { @@ -122,8 +128,8 @@ extern "C" __attribute__((constructor)) void RegisterLibaModule(void) { ] ``` 其中`bundleName`为应用间`HSP`的`bundle`名称,`moduleName`为应用间`HSP`的模块名称,`versionCode`为应用间`HSP`的版本号。 -#### **使用HAR包中的ArkUI组件** -`HAR`共享包的依赖配置成功后,可以引用`HAR`共享包的ArkUI组件。ArkUI组件的导入方式与ts的导入方式一致,通过`import`引入`HAR`共享包导出的ArkUI组件,示例如下所示: +#### **使用HAR中的ArkUI组件** +`HAR`的依赖配置成功后,可以引用`HAR`的ArkUI组件。ArkUI组件的导入方式与ts的导入方式一致,通过`import`引入`HAR`导出的ArkUI组件,示例如下所示: ``` ts import { UIComponent } from 'liba' @@ -133,7 +139,7 @@ struct Index { @State message: string = 'Hello World' build() { Row() { - // 引用HAR共享包的ArkUI组件 + // 引用HAR的ArkUI组件 UIComponent() Column() { Text(this.message) @@ -147,8 +153,8 @@ struct Index { } ``` -#### **使用HAR包中的ts方法** -通过`import`引用`HAR`共享包导出的ts类和方法,示例如下所示: +#### **使用HAR中的ts方法** +通过`import`引用`HAR`导出的ts类和方法,示例如下所示: ``` ts import { foo1 } from 'liba' import { foo2 } from 'liba' @@ -160,7 +166,7 @@ struct Index { Column() { Button('Button') .onClick(()=>{ - // 引用HAR共享包的ts方法 + // 引用HAR的ts方法 foo1(); foo2(); }) @@ -171,8 +177,8 @@ struct Index { } } ``` -#### **使用HAR包中的native方法** -通过`import`引用`HAR`共享包导出的native方法,示例如下所示: +#### **使用HAR中的native方法** +通过`import`引用`HAR`导出的native方法,示例如下所示: ``` ts import { nativeHello } from 'liba' @@ -183,7 +189,7 @@ struct Index { Column() { Button('Button') .onClick(()=>{ - // 引用HAR共享包的native方法 + // 引用HAR的native方法 nativeHello(); }) } @@ -196,26 +202,20 @@ struct Index { ## 应用间HSP的分发方式 应用间`HSP`由于并未直接完整的集成到开发者应用中去,所以需要提前预置在系统版本中或者随开发者应用同步安装到设备上,主要有以下两种形式: -1. 随系统发布,部分常用应用间`HSP`会预置在系统版本中 +1. 随系统发布,部分常用应用间`HSP`会预置在系统版本中。 2. 随应用发布,即用户在应用市场下载应用时,如果应用依赖了一个或者多个应用间`HSP`,同时设备上没有安装这个其依赖的应用间`HSP`时,应用市场会为用户同时下载普通应用以及其依赖的应用间`HSP`。从而保证普通应用能够正常使用共享库的功能。 ### 应用间HSP的调试方式 开发者本地调试应用间`HSP`相关的功能时,可能并不具备上述分发的条件,此时可以通过`bm`相关指令本地完成应用间`HSP`的分发,主要步骤如下: -1. 获取到应用间`HSP`的安装包 -2. 通过`bm`指令先安装应用间`HSP`的安装包 +1. 获取到应用间`HSP`的安装包。 +2. 通过`bm`指令先安装应用间`HSP`的安装包。 ``` bm install -s sharebundle.hsp ``` -3. 通过`bm`指令后安装开发者自身的应用`hap` +3. 通过`bm`指令后安装开发者自身的应用`hap`。 ``` bm install -p feature.hap ``` -4. 启动开发者自身的应用,调试相关功能 +4. 启动开发者自身的应用,调试相关功能。 -**注意**:步骤2和步骤3不可以颠倒,否则会由于缺少必要的应用间`HSP`导致开发者的应用安装失败。更多`bm`相关指令可以参考[文档](https://gitee.com/openharmony/bundlemanager_bundle_framework#bm%E5%B7%A5%E5%85%B7%E5%91%BD%E4%BB%A4)。 - -## 注意事项 -1. 应用间`HSP`的代码会运行再开发者应用的进程中,调用相关代码时,需要做好异常捕获与容错处理,防止由于应用间`HSP`功能异常导致的稳定性问题 -2. 一个应用可以同时依赖多个应用间`HSP` -3. 应用间`HSP`会影响开发者应用自身的启动时间,依赖过多的应用间HSP可能会导致启动时延发生明显的劣化,建议将依赖的数目控制在16个以内。 -4. 当前三方开发者开发者只能使用系统提供的应用间`HSP`,不支持开发并发布自己的应用间`HSP`。 \ No newline at end of file +**注意**:步骤2和步骤3不可以颠倒,否则会由于缺少必要的应用间`HSP`导致开发者的应用安装失败。更多`bm`相关指令可以参考[文档](https://gitee.com/openharmony/bundlemanager_bundle_framework#bm%E5%B7%A5%E5%85%B7%E5%91%BD%E4%BB%A4)。 \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/har-package.md b/zh-cn/application-dev/quick-start/har-package.md index ed82cdf4949b6946feab4f462655346dca070223..88e4c47a32bf2d7fe0162c177ae638ef12ee053a 100644 --- a/zh-cn/application-dev/quick-start/har-package.md +++ b/zh-cn/application-dev/quick-start/har-package.md @@ -1,8 +1,8 @@ # HAR -HAR(Harmony Archive)是Harmony静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR共享包,可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。 +HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。 ## 创建HAR模块 -HAR包对应DevEco Studio工程中的“Library”类型的[Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-adding-deleting-module-0000001218760594-V3),可以通过DevEco Studio创建一个HAR模块。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示: +HAR对应DevEco Studio工程中的“Library”类型的[Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-adding-deleting-module-0000001218760594-V3),可以通过DevEco Studio创建一个HAR模块。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示: ```json { @@ -19,7 +19,7 @@ artifactType字段有以下两种取值,默认缺省为original。 需要对代码资产进行保护时,建议开启混淆能力,混淆能力开启后,DevEco Studio在构建HAR时,会对代码进行编译、混淆及压缩处理,保护代码资产。 注意:artifactType字段设置为obfuscation时,apiType字段必须设置为stageMode,因为Stage模型才支持混淆。 -## HAR共享包开发注意事项 +## HAR开发注意事项 - HAR不支持在配置文件中声明abilities、extensionAbilities组件。 - HAR不支持在配置文件中声明pages页面。 - HAR不支持在build-profile.json5文件的buildOption中配置worker。 @@ -27,7 +27,7 @@ artifactType字段有以下两种取值,默认缺省为original。 - Stage模型的HAR,不能引用AppScope内的内容。在编译构建时APPScope中的内容不会打包到HAR中,导致HAR资源引用失败。 ## 导出HAR的ArkUI组件、接口、资源 -index.ets文件是HAR共享包导出声明文件的入口,HAR共享包需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的package.json文件中的main字段配置入口声明文件,配置如下所示: +index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的package.json文件中的main字段配置入口声明文件,配置如下所示: ```json { "main": "index.ets" @@ -84,17 +84,17 @@ export { func } from './src/main/ts/test' export { func2 } from './src/main/ts/test' ``` ### 资源 -HAR模块编译打包时会把资源打包到HAR包中。在编译构建HAP时,DevEco Studio会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,DevEco Studio会按照以下优先级进行覆盖(优先级由高到低): +HAR模块编译打包时会把资源打包到HAR中。在编译构建HAP时,DevEco Studio会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,DevEco Studio会按照以下优先级进行覆盖(优先级由高到低): - AppScope(仅API9的Stage模型支持)。 - HAP包自身模块。 - 依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。 ## 引用HAR的ArkUI组件、接口、资源 -引用HAR共享包前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。 +引用HAR前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。 -### 引用HAR共享包的ArkUI组件 +### 引用HAR的ArkUI组件 -HAR共享包的依赖配置成功后,可以引用HAR共享包的ArkUI组件。ArkUI组件的导入方式与ts的导入方式一致,通过`import`引入HAR共享包导出的ArkUI组件,示例如下所示: +HAR的依赖配置成功后,可以引用HAR的ArkUI组件。ArkUI组件的导入方式与ts的导入方式一致,通过`import`引入HAR导出的ArkUI组件,示例如下所示: ```js // entry/src/main/ets/pages/index.ets import { MainPage } from "@ohos/library" @@ -105,7 +105,7 @@ struct Index { @State message: string = 'Hello World' build() { Row() { - // 引用HAR共享包的ArkUI组件 + // 引用HAR的ArkUI组件 MainPage() Column() { Text(this.message) @@ -118,8 +118,8 @@ struct Index { } } ``` -### 引用HAR共享包的类和方法 -通过`import`引用HAR共享包导出的ts类和方法,示例如下所示: +### 引用HAR的类和方法 +通过`import`引用HAR导出的ts类和方法,示例如下所示: ```js // entry/src/main/ets/pages/index.ets import { Log } from "@ohos/library" @@ -133,7 +133,7 @@ struct Index { Column() { Button('Button') .onClick(()=>{ - // 引用HAR共享包的类和方法 + // 引用HAR的类和方法 Log.info("har msg"); func(); }) @@ -144,8 +144,8 @@ struct Index { } } ``` -### 引用HAR共享包的资源 -通过`$r`引用HAR共享包中的资源,例如在HAR模块的`src/main/resources`里添加字符串资源(在string.json中定义,name:hello_har)和图片资源(icon_har.png),然后在Entry模块中引用该字符串和图片资源的示例如下所示: +### 引用HAR的资源 +通过`$r`引用HAR中的资源,例如在HAR模块的`src/main/resources`里添加字符串资源(在string.json中定义,name:hello_har)和图片资源(icon_har.png),然后在Entry模块中引用该字符串和图片资源的示例如下所示: ```js // entry/src/main/ets/pages/index.ets @Entry @@ -154,11 +154,11 @@ struct Index { build() { Row() { Column() { - // 引用HAR共享包的字符串资源 + // 引用HAR的字符串资源 Text($r("app.string.hello_har")) .fontSize(50) .fontWeight(FontWeight.Bold) - // 引用HAR共享包的图片资源 + // 引用HAR的图片资源 Image($r("app.media.icon_har")) } .width('100%') diff --git a/zh-cn/application-dev/quick-start/har-structure.md b/zh-cn/application-dev/quick-start/har-structure.md deleted file mode 100644 index cc154c35d98365155bffb2ee8bb995ef51d69571..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/har-structure.md +++ /dev/null @@ -1,9 +0,0 @@ -# HAR包结构 - - -[HAR(Harmony Archive)](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434)是Harmony静态共享包,可以包含代码、C++库、资源和module.json文件(Stage模型)或config.json文件(FA模型)等,用于实现多个模块或多个工程间的代码共享。 - -HAR包不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。 - -HAR包对应DevEco Studio工程中的“Library”类型的[Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-adding-deleting-module-0000001218760594-V3)。 - diff --git a/zh-cn/application-dev/quick-start/hsp-guide.md b/zh-cn/application-dev/quick-start/hsp-guide.md deleted file mode 100644 index e2a5e3cc161ac493652b89bd5240cfb80c4f7bbd..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/quick-start/hsp-guide.md +++ /dev/null @@ -1,18 +0,0 @@ -# HSP概述 - -`HSP`(`Harmony Shared Package`)是Harmony动态共享包,可以包含代码、C++库、资源和配置文件。 -`HSP`与[HAR(Harmony Achive)](har-package.md)都是为了实现代码和资源的共享,最大的不同之处在于,`HAR`中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。**而`HSP`中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。** - -**图1** `HAR`和`HSP`在`APP`包中的形态示意图 -![in-app-hsp-har](figures/in-app-hsp-har.png) - -**HSP旨在解决HAR包存在的几个问题:** -- 多个`HAP`引用相同`HAR`包,导致的`APP`包大小膨胀问题 -- 多个`HAP`引用相同`HAR`包,`HAR`包中的一些状态变量无法共享的问题 - -**HSP的一些约束:** -- `HSP`及其使用方都必须是`Stage`模型 -- `HSP`及其使用方都必须使用`esmodule`编译模式 -- `HSP`不支持在配置文件中声明`abilities`、`extensionAbilities`标签 - -`HSP`按照使用场景可以分为[应用内HSP](in-app-hsp.md)和[应用间HSP](cross-app-hsp.md)。它们在配置文件和使用方式等方面有所区别。 \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/in-app-hsp.md b/zh-cn/application-dev/quick-start/in-app-hsp.md index 2c456b608da986d0063c5821f6a515ec13e69761..177700e909363128a4df4da45de0e1d7c56f36f8 100644 --- a/zh-cn/application-dev/quick-start/in-app-hsp.md +++ b/zh-cn/application-dev/quick-start/in-app-hsp.md @@ -110,7 +110,7 @@ export { nativeMulti } from './utils/nativeTest' "library": "file:../library" } ``` -然后就可以像使用`HAR`包一样调用`HSP`的对外接口了。 +然后就可以像使用`HAR`一样调用`HSP`的对外接口了。 例如,上面的`library`已经导出了下面这些接口: ```ts // library/src/main/ets/index.ets diff --git a/zh-cn/application-dev/quick-start/shared-guide.md b/zh-cn/application-dev/quick-start/shared-guide.md new file mode 100644 index 0000000000000000000000000000000000000000..a90453ac7072e643d78e8f98c229ce0c0848e17f --- /dev/null +++ b/zh-cn/application-dev/quick-start/shared-guide.md @@ -0,0 +1,19 @@ +# 共享包概述 + +OpenHarmony提供了两种共享包,[HAR(Harmony Achive)](har-package.md)静态共享包,和HSP(Harmony Shared Package)动态共享包。 + +HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件,最大的不同之处在于:HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。 + +**图1** `HAR`和`HSP`在`APP`包中的形态示意图 +![in-app-hsp-har](figures/in-app-hsp-har.png) + +**HSP旨在解决HAR存在的几个问题:** +- 多个`HAP`引用相同的`HAR`,导致的`APP`包大小膨胀问题。 +- 多个`HAP`引用相同的`HAR`,`HAR`中的一些状态变量无法共享的问题。 + +**HSP的一些约束:** +- `HSP`及其使用方都必须是`Stage`模型。 +- `HSP`及其使用方都必须使用`esmodule`编译模式。 +- `HSP`不支持在配置文件中声明`abilities`、`extensionAbilities`标签。 + +`HSP`按照使用场景可以分为[应用内HSP](in-app-hsp.md)和[应用间HSP](cross-app-hsp.md)。它们在配置文件和使用方式等方面有所区别。 \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/Readme-CN.md b/zh-cn/application-dev/reference/apis/Readme-CN.md index 61ad63f47a5a890ba32c81e4b2d92f222d3555ac..1b60c450840997a0834a1bb6635a747b8f7f6a47 100755 --- a/zh-cn/application-dev/reference/apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis/Readme-CN.md @@ -130,6 +130,15 @@ - [CommonEventPublishData](js-apis-inner-commonEvent-commonEventPublishData.md) - [CommonEventSubscriber](js-apis-inner-commonEvent-commonEventSubscriber.md) - [CommonEventSubscribeInfo](js-apis-inner-commonEvent-commonEventSubscribeInfo.md) + - notification + - [NotificationActionButton](js-apis-inner-notification-notificationActionButton.md) + - [NotificationCommonDef](js-apis-inner-notification-notificationCommonDef.md) + - [NotificationContent](js-apis-inner-notification-notificationContent.md) + - [NotificationFlags](js-apis-inner-notification-notificationFlags.md) + - [NotificationRequest](js-apis-inner-notification-notificationRequest.md) + - [NotificationSlot](js-apis-inner-notification-notificationSlot.md) + - [NotificationTemplate](js-apis-inner-notification-notificationTemplate.md) + - [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md) - 包管理 - [@ohos.bundle.appControl (appControl模块)](js-apis-appControl.md) - [@ohos.bundle.bundleManager (bundleManager模块)](js-apis-bundleManager.md) @@ -189,7 +198,7 @@ - [@ohos.intl (国际化-Intl)](js-apis-intl.md) - [@ohos.resourceManager (资源管理)](js-apis-resource-manager.md) -- 资源调度 +- 后台任务 - [@ohos.distributedMissionManager (分布式任务管理)](js-apis-distributedMissionManager.md) - [@ohos.reminderAgentManager (后台代理提醒)](js-apis-reminderAgentManager.md) - [@ohos.resourceschedule.backgroundTaskManager (后台任务管理)](js-apis-resourceschedule-backgroundTaskManager.md) diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md index 9d5752add2c1eef78d49b861fd2d151879e4506e..5476cf1786c2cb57d833aaf44fc5dd3716f60b9c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md @@ -139,7 +139,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: Permissions, permiss | --------- | ------------------- | ---- | ------------------------------------------------------------ | | tokenID | number | 是 | 目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)获得。 | | permissionName | Permissions | 是 | 被授予的权限名称,合法的权限名取值可在[系统权限定义列表](../../security/permission-list.md)中查询。 | -| permissionFlags | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 | +| permissionFlags | number | 是 | 授权选项
- 0表示权限未经过用户主动设置。
- 1表示当次用户若选择禁止该权限,下次权限弹窗仍可以弹出申请用户授权。
- 2表示当次用户若选择禁止该权限,下次不会再弹出权限弹窗,需要用户在setting的权限管理中进行授权。
- 4表示当次权限设置为系统授权,用户不可更改这个权限授权状态。 | **返回值:** @@ -196,7 +196,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: Permissions, permiss | --------- | ------------------- | ---- | ------------------------------------------------------------ | | tokenID | number | 是 | 目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)获得。| | permissionName | Permissions | 是 | 被授予的权限名称,合法的权限名取值可在[系统权限定义列表](../../security/permission-list.md)中查询。 | -| permissionFlags | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 | +| permissionFlags | number | 是 | 授权选项
- 0表示权限未经过用户主动设置。
- 1表示当次用户若选择禁止该权限,下次权限弹窗仍可以弹出申请用户授权。
- 2表示当次用户若选择禁止该权限,下次不会再弹出权限弹窗,需要用户在setting的权限管理中进行授权。
- 4表示当次权限设置为系统授权,用户不可更改这个权限授权状态。 | | callback | AsyncCallback<void> | 是 | 授予应用user grant权限。当授予权限成功时,err为undefine;否则为错误对象。 | **错误码:** @@ -250,7 +250,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: Permissions, permis | --------- | ------------------- | ---- | ------------------------------------------------------------ | | tokenID | number | 是 | 目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)获得。 | | permissionName | Permissions | 是 | 被撤销的权限名称,合法的权限名取值可在[系统权限定义列表](../../security/permission-list.md)中查询。 | -| permissionFlags | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 | +| permissionFlags | number | 是 | 授权选项
- 0表示权限未经过用户主动设置。
- 1表示当次用户若选择禁止该权限,下次权限弹窗仍可以弹出申请用户授权。
- 2表示当次用户若选择禁止该权限,下次不会再弹出权限弹窗,需要用户在setting的权限管理中进行授权。
- 4表示当次权限设置为系统授权,用户不可更改这个权限授权状态。 | **返回值:** @@ -307,7 +307,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: Permissions, permis | --------- | ------------------- | ---- | ------------------------------------------------------------ | | tokenID | number | 是 | 目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)获得。 | | permissionName | Permissions | 是 | 被撤销的权限名称,合法的权限名取值可在[系统权限定义列表](../../security/permission-list.md)中查询。 | -| permissionFlags | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 | +| permissionFlags | number | 是 | 授权选项
- 0表示权限未经过用户主动设置。
- 1表示当次用户若选择禁止该权限,下次权限弹窗仍可以弹出申请用户授权。
- 2表示当次用户若选择禁止该权限,下次不会再弹出权限弹窗,需要用户在setting的权限管理中进行授权。
- 4表示当次权限设置为系统授权,用户不可更改这个权限授权状态。 | | callback | AsyncCallback<void> | 是 | 撤销应用user grant权限。当撤销权限成功时,err为undefine;否则为错误对象。 | **错误码:** @@ -461,6 +461,7 @@ on(type: 'permissionStateChange', tokenIDList: Array<number>, permissionLi ```js import abilityAccessCtrl, {Permissions} from '@ohos.abilityAccessCtrl'; +import bundle from '@ohos.bundle.bundleManager'; let atManager = abilityAccessCtrl.createAtManager(); let appInfo = bundle.getApplicationInfoSync('com.example.myapplication', 0, 100); @@ -511,6 +512,7 @@ off(type: 'permissionStateChange', tokenIDList: Array<number>, permissionL ```js import abilityAccessCtrl, {Permissions} from '@ohos.abilityAccessCtrl'; +import bundle from '@ohos.bundle.bundleManager'; let atManager = abilityAccessCtrl.createAtManager(); let appInfo = bundle.getApplicationInfoSync('com.example.myapplication', 0, 100); @@ -582,7 +584,7 @@ requestPermissionsFromUser(context: Context, permissionList: Array<Permission 以下错误码的详细介绍请参见[程序访问控制错误码](../errorcodes/errorcode-access-token.md)。 | 错误码ID | 错误信息 | | -------- | -------- | -| 12100001 | Parameter invalid. | +| 12100001 | The parameter is invalid. The context is invalid when it does not belong to the application itself. | **示例:** @@ -628,7 +630,7 @@ requestPermissionsFromUser(context: Context, permissionList: Array<Permission 以下错误码的详细介绍请参见[程序访问控制错误码](../errorcodes/errorcode-access-token.md)。 | 错误码ID | 错误信息 | | -------- | -------- | -| 12100001 | Parameter invalid. | +| 12100001 | The parameter is invalid. The context is invalid when it does not belong to the application itself. | **示例:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-audio.md b/zh-cn/application-dev/reference/apis/js-apis-audio.md index 6f465e2fdf0399169ef4547d49f75614838b56ba..db745bb80dcc33cb613dd4303caa605b3ed63b39 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-audio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md @@ -4539,15 +4539,15 @@ let filePath = path + '/StarWars10s-2C-48000-4SW.wav'; let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); let stat = await fs.stat(path); let buf = new ArrayBuffer(bufferSize); -let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); +let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1); for (let i = 0;i < len; i++) { let options = { - offset: i * this.bufferSize, - length: this.bufferSize + offset: i * bufferSize, + length: bufferSize } let readsize = await fs.read(file.fd, buf, options) let writeSize = await new Promise((resolve,reject)=>{ - this.audioRenderer.write(buf,(err,writeSize)=>{ + audioRenderer.write(buf,(err,writeSize)=>{ if(err){ reject(err) }else{ @@ -4593,15 +4593,15 @@ let filePath = path + '/StarWars10s-2C-48000-4SW.wav'; let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); let stat = await fs.stat(path); let buf = new ArrayBuffer(bufferSize); -let len = stat.size % this.bufferSize == 0 ? Math.floor(stat.size / this.bufferSize) : Math.floor(stat.size / this.bufferSize + 1); +let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1); for (let i = 0;i < len; i++) { let options = { - offset: i * this.bufferSize, - length: this.bufferSize + offset: i * bufferSize, + length: bufferSize } let readsize = await fs.read(file.fd, buf, options) try{ - let writeSize = await this.audioRenderer.write(buf); + let writeSize = await audioRenderer.write(buf); } catch(err) { console.error(`audioRenderer.write err: ${err}`); } diff --git a/zh-cn/application-dev/reference/apis/js-apis-avsession.md b/zh-cn/application-dev/reference/apis/js-apis-avsession.md index 768b57c04e43a854debf590f38fd26c040089efc..88dbe5801d5c290b5c995b006ff38b1193a553f4 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-avsession.md +++ b/zh-cn/application-dev/reference/apis/js-apis-avsession.md @@ -26,6 +26,8 @@ createAVSession(context: Context, tag: string, type: AVSessionType): Promise\ void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -626,6 +632,8 @@ off(type: 'sessionServiceDie', callback?: () => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -858,6 +866,8 @@ avSession.sendSystemControlCommand(avcommand, function (err) { **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 可读 | 可写 | 说明 | | :-------- | :----- | :--- | :--- | :---------------------------- | @@ -877,6 +887,8 @@ setAVMetadata(data: AVMetadata): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -931,6 +943,8 @@ setAVMetadata(data: AVMetadata, callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -982,6 +996,8 @@ setAVPlaybackState(state: AVPlaybackState): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1028,6 +1044,8 @@ setAVPlaybackState(state: AVPlaybackState, callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1281,6 +1299,8 @@ setLaunchAbility(ability: WantAgent): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1351,6 +1371,8 @@ setLaunchAbility(ability: WantAgent, callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1501,6 +1523,8 @@ getController(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -1535,6 +1559,8 @@ getController(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1571,6 +1597,8 @@ getOutputDevice(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -1603,6 +1631,8 @@ getOutputDevice(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1637,6 +1667,8 @@ activate(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -1669,6 +1701,8 @@ activate(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1703,6 +1737,8 @@ deactivate(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -1737,6 +1773,8 @@ deactivate(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1771,6 +1809,8 @@ destroy(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -1801,9 +1841,10 @@ destroy(callback: AsyncCallback\): void 销毁当前会话,使当前会话完全失效。结果通过callback异步回调方式返回。 - **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1838,6 +1879,8 @@ on(type: 'play'|'pause'|'stop'|'playNext'|'playPrevious'|'fastForward'|'rewind', **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1887,6 +1930,8 @@ on(type: 'seek', callback: (time: number) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1918,6 +1963,8 @@ on(type: 'setSpeed', callback: (speed: number) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1949,6 +1996,8 @@ on(type: 'setLoopMode', callback: (mode: LoopMode) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -1980,6 +2029,8 @@ on(type: 'toggleFavorite', callback: (assetId: string) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2044,6 +2095,8 @@ on(type: 'handleKeyEvent', callback: (event: KeyEvent) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2075,6 +2128,8 @@ on(type: 'outputDeviceChange', callback: (device: OutputDeviceInfo) => void): vo **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2139,6 +2194,8 @@ off(type: 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2174,6 +2231,8 @@ off(type: 'seek', callback?: (time: number) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2203,6 +2262,8 @@ off(type: 'setSpeed', callback?: (speed: number) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2232,6 +2293,8 @@ off(type: 'setLoopMode', callback?: (mode: LoopMode) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2261,6 +2324,8 @@ off(type: 'toggleFavorite', callback?: (assetId: string) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2321,6 +2386,8 @@ off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2350,6 +2417,8 @@ off(type: 'outputDeviceChange', callback?: (device: OutputDeviceInfo) => void): **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2436,6 +2505,8 @@ getAVPlaybackState(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -2468,6 +2539,8 @@ getAVPlaybackState(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2721,6 +2794,8 @@ getAVMetadata(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -2753,6 +2828,8 @@ getAVMetadata(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2787,6 +2864,8 @@ getOutputDevice(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -2818,6 +2897,8 @@ getOutputDevice(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2852,6 +2933,8 @@ sendAVKeyEvent(event: KeyEvent): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2896,6 +2979,8 @@ sendAVKeyEvent(event: KeyEvent, callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -2937,6 +3022,8 @@ getLaunchAbility(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -2972,6 +3059,8 @@ getLaunchAbility(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3009,6 +3098,8 @@ getRealPlaybackPositionSync(): number **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -3037,6 +3128,8 @@ isActive(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -3070,6 +3163,8 @@ isActive(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3105,6 +3200,8 @@ destroy(): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -3137,6 +3234,8 @@ destroy(callback: AsyncCallback\): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3171,6 +3270,8 @@ getValidCommands(): Promise\> **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **返回值:** | 类型 | 说明 | @@ -3204,6 +3305,8 @@ getValidCommands(callback: AsyncCallback\>): void **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3239,6 +3342,8 @@ sendControlCommand(command: AVControlCommand): Promise\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3292,6 +3397,8 @@ sendControlCommand(command: AVControlCommand, callback: AsyncCallback\): v **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3429,6 +3536,8 @@ on(type: 'metadataChange', filter: Array\ | 'all', callback: ( **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3466,6 +3575,8 @@ on(type: 'playbackStateChange', filter: Array\ | 'all', c **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3602,6 +3713,8 @@ on(type: 'sessionDestroy', callback: () => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3633,6 +3746,8 @@ on(type: 'activeStateChange', callback: (isActive: boolean) => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3664,6 +3779,8 @@ on(type: 'validCommandChange', callback: (commands: Array\ **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3696,6 +3813,8 @@ on(type: 'outputDeviceChange', callback: (device: OutputDeviceInfo) => void): vo **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3727,6 +3846,8 @@ off(type: 'metadataChange', callback?: (data: AVMetadata) => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3755,6 +3876,8 @@ off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3873,6 +3996,8 @@ off(type: 'sessionDestroy', callback?: () => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3901,6 +4026,8 @@ off(type: 'activeStateChange', callback?: (isActive: boolean) => void) **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3929,6 +4056,8 @@ off(type: 'validCommandChange', callback?: (commands: Array\ void): **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + **参数:** | 参数名 | 类型 | 必填 | 说明 | @@ -3998,6 +4129,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口。 + | 名称 | 类型 | 说明 | | ----- | ------ | ---- | | audio | string | 音频 | @@ -4027,6 +4160,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 说明 | | -------------- | ------ | ------------ | | play | string | 播放 | @@ -4047,6 +4182,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 必填 | 说明 | | --------- | ------------------------------------------------- | ---- | -------------- | | command | [AVControlCommandType](#avcontrolcommandtype) | 是 | 命令 | @@ -4058,6 +4195,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 必填 | 说明 | | --------------- |-------------------------| ---- |---------------------------------------------------------------------| | assetId | string | 是 | 媒体ID。 | @@ -4110,6 +4249,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 必填 | 说明 | | ------------ | ------------------------------------- | ---- | ------- | | state | [PlaybackState](#playbackstate) | 否 | 播放状态 | @@ -4125,6 +4266,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | ------------------ | | elapsedTime | number | 是 | 已用时间,单位毫秒(ms)。 | @@ -4136,6 +4279,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 类型 | 必填 | 说明 | | ---------- | -------------- | ---- | ---------------------- | | isRemote | boolean | 是 | 设备是否连接。 | @@ -4148,6 +4293,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 值 | 说明 | | --------------------------- | ---- | ----------- | | PLAYBACK_STATE_INITIAL | 0 | 初始状态 | @@ -4165,6 +4312,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 值 | 说明 | | ------------------ | ---- | -------- | | LOOP_MODE_SEQUENCE | 0 | 顺序播放 | @@ -4178,6 +4327,8 @@ controller.off('outputDeviceChange'); **系统能力:** SystemCapability.Multimedia.AVSession.Core +**系统接口:** 该接口为系统接口 + | 名称 | 值 | 说明 | | ------------------------------ | ------- | ------------------------------- | | ERR_CODE_SERVICE_EXCEPTION | 6600101 | Session service exception. | diff --git a/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md new file mode 100755 index 0000000000000000000000000000000000000000..aaf0668397c0db56c7e0a0ff22eabab2325fc20d --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md @@ -0,0 +1,18 @@ +# OverlayModuleInfo + +> **说明:** +> 本模块首批接口从API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +OverlayModuleInfo信息,系统应用可以通过[overlay.getOverlayModuleInfoByBundleName](js-apis-overlay.md#overlaygetoverlaymoduleinfobybundlename)获取指定应用的overlay特征module的OverlayModuleInfo信息,三方应用可以通过[overlay.getOverlayModuleInfo](js-apis-overlay.md#overlaygetoverlaymoduleinfo)获取当前应用中overlay特征module的OverlayModuleInfo信息。 + +## OverlayModuleInfo + + **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Overlay。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| --------------------- | ---------------------------------------------------| ---- | ---- | ---------------------------------------------- | +| bundleName | string | 是 | 否 | overlay特征module所属的应用的bundle名称。 | +| moduleName | string | 是 | 否 | overlay特征module的HAP名称。 | +| targetModuleName | string | 是 | 否 | overlay特征module指定的目标module的HAP名称。 | +| priority | number | 是 | 否 | overlay特征module的优先级。 | +| state | number | 是 | 否 | overlay特征module的禁用使能状态。0代表禁用状态; 1代表使能状态。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-cert.md b/zh-cn/application-dev/reference/apis/js-apis-cert.md index 8ee8bd2309e88546bc98bdb344d8e2757f86bfac..c3451703a6d58475333c37600fa88556b627bedb 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-cert.md +++ b/zh-cn/application-dev/reference/apis/js-apis-cert.md @@ -104,6 +104,11 @@ createX509Cert(inStream : EncodingBlob, callback : AsyncCallback\) : v | inStream | [EncodingBlob](#encodingblob) | 是 | X509证书序列化数据 | | callback | AsyncCallback\ | 是 | 回调函数。表示X509证书对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------- | +| 19020001 | memory error. | **示例:** @@ -146,6 +151,12 @@ createX509Cert(inStream : EncodingBlob) : Promise\ | ------- | ---------------- | | Promise\ | 表示X509证书对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------- | +| 19020001 | memory error. | + **示例:** ```js @@ -184,6 +195,11 @@ verify(key : cryptoFramework.PubKey, callback : AsyncCallback\) : void | key | cryptoFramework.PubKey | 是 | 用于验签的公钥对象 | | callback | AsyncCallback\ | 是 | 回调函数。使用AsyncCallback的第一个error参数判断是否验签成功,error为null表示成功,不为null表示失败 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 19030001 | crypto operation error. | **示例:** @@ -235,6 +251,12 @@ verify(key : cryptoFramework.PubKey) : Promise\ | -------------- | ----------- | | Promise\ | Promise对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -275,6 +297,13 @@ getEncoded(callback : AsyncCallback\) : void | -------- | --------------------------------------------- | ---- | -------------------------------- | | callback | AsyncCallback\<[EncodingBlob](#encodingblob)> | 是 | 回调函数。表示X509证书序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| **示例:** @@ -318,6 +347,14 @@ getEncoded() : Promise\ | --------------------------------------- | ---------------------- | | Promise\<[EncodingBlob](#encodingblob)> | 表示X509证书序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -356,6 +393,13 @@ getPublicKey() : cryptoFramework.PubKey | ------ | ---------------- | | cryptoFramework.PubKey | X509证书公钥对象:仅用于X509Cert的verify接口 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -398,6 +442,15 @@ checkValidityWithDate(date: string) : void | -------- | -------------- | ---- | ---------- | | date | string | 是 | 日期(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,时间必须以Z结尾:表示标准时间) | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error.| +| 19030003 | the certificate has not taken effect. | +| 19030004 | the certificate has expired.| + **示例:** ```js @@ -513,6 +566,14 @@ getIssuerName() : DataBlob | --------------------- | ---------------------- | | [DataBlob](#datablob) | 表示X509证书颁发者名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -549,6 +610,14 @@ getSubjectName() : DataBlob | --------------------- | -------------------- | | [DataBlob](#datablob) | 表示X509证书主体名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -585,6 +654,14 @@ getNotBeforeTime() : string | ------ | ------------------------------------------------------------ | | string | 表示X509证书有效期起始时间(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,时间以Z结尾:表示标准时间) | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -621,6 +698,14 @@ getNotAfterTime() : string | ------ | ------------------------------------------------------------ | | string | 表示X509证书有效期截止时间(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,时间以Z结尾:表示标准时间) | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -657,6 +742,14 @@ getSignature() : DataBlob | --------------------- | -------------------- | | [DataBlob](#datablob) | 表示X509证书签名数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -693,6 +786,14 @@ getSignatureAlgName() : string | ------ | ------------------------ | | string | 表示X509证书签名算法名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -729,6 +830,14 @@ getSignatureAlgOid() : string | ------ | --------------------------------- | | string | 表示X509证书签名算法对象标志符OID | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -765,6 +874,14 @@ getSignatureAlgParams() : DataBlob | --------------------- | ------------------------ | | [DataBlob](#datablob) | 表示X509证书签名算法参数 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -801,6 +918,13 @@ getKeyUsage() : DataBlob | --------------------- | -------------------- | | [DataBlob](#datablob) | 表示X509证书秘钥用途 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -837,6 +961,14 @@ getExtKeyUsage() : DataArray | ----------------------- | ------------------------ | | [DataArray](#dataarray) | 表示X509证书扩展秘钥用途 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -909,6 +1041,14 @@ getSubjectAltNames() : DataArray | ----------------------- | ------------------------ | | [DataArray](#dataarray) | 表示X509证书主体可选名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -945,6 +1085,14 @@ getIssuerAltNames() : DataArray | ----------------------- | -------------------------- | | [DataArray](#dataarray) | 表示X509证书颁发者可选名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error.| + **示例:** ```js @@ -982,6 +1130,11 @@ createX509Crl(inStream : EncodingBlob, callback : AsyncCallback\) : voi | inStream | [EncodingBlob](#encodingblob) | 是 | 表示证书吊销列表序列化数据 | | callback | AsyncCallback\ | 是 | 回调函数。表示证书吊销列表对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------- | +| 19020001 | memory error. | **示例:** @@ -1024,6 +1177,12 @@ createX509Crl(inStream : EncodingBlob) : Promise\ | ----------------- | -------------------- | | Promise\ | 表示证书吊销列表对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------- | +| 19020001 | memory error. | + **示例:** ```js @@ -1145,6 +1304,13 @@ getEncoded(callback : AsyncCallback\) : void | -------- | ---------------------------- | ---- | ------------------------------------------ | | callback | AsyncCallback\ | 是 | 回调函数,表示X509证书吊销列表的序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | **示例:** @@ -1188,6 +1354,14 @@ getEncoded() : Promise\ | ---------------------- | -------------------------------- | | Promise\ | 表示X509证书吊销列表的序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1227,6 +1401,11 @@ verify(key : cryptoFramework.PubKey, callback : AsyncCallback\) : void | key | cryptoFramework.PubKey | 是 | 表示用于验签的公钥对象 | | callback | AsyncCallback\ | 是 | 回调函数,使用AsyncCallback的第一个error参数判断是否验签成功,error为null表示成功,error不为null表示失败。 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19030001 | crypto operation error. | **示例:** @@ -1279,6 +1458,12 @@ verify(key : cryptoFramework.PubKey) : Promise\ | ---- | ------------------------------------------------------------ | | Promise\ | Promise对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1356,6 +1541,14 @@ getIssuerName() : DataBlob | --------------------- | ------------------------------ | | [DataBlob](#datablob) | 表示X509证书吊销列表颁发者名称 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1392,6 +1585,14 @@ getLastUpdate() : string | ------ | ------------------------------------ | | string | 表示X509证书吊销列表最后一次更新日期 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1428,6 +1629,14 @@ getNextUpdate() : string | ------ | ------------------------------------ | | string | 表示X509证书吊销列表下一次更新的日期 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1470,6 +1679,13 @@ getRevokedCert(serialNumber : number) : X509CrlEntry | ---------------------- | --------------------- | | X509CrlEntry | 表示被吊销X509证书对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1518,6 +1734,13 @@ getRevokedCertWithCert(cert : X509Cert) : X509CrlEntry | ------------ | -------------------- | | X509CrlEntry | 表示被吊销X509证书对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1560,6 +1783,12 @@ getRevokedCerts(callback : AsyncCallback>) : void | -------- | ----------------------------------- | ---- | -------------------------------- | | callback | AsyncCallback> | 是 | 回调函数。表示被吊销X509证书列表 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error. | **示例:** @@ -1603,6 +1832,13 @@ getRevokedCerts() : Promise> | ----------------------------- | ---------------------- | | Promise> | 表示被吊销X509证书列表 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1641,6 +1877,14 @@ getTbsInfo() : DataBlob | --------------------- | ------------------------------- | | [DataBlob](#datablob) | 表示证书吊销列表的tbsCertList信息 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1681,6 +1925,14 @@ getSignature() : DataBlob | --------------------- | ------------------------------ | | [DataBlob](#datablob) | 表示X509证书吊销列表的签名数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1717,6 +1969,14 @@ getSignatureAlgName() : string | ------ | -------------------------------- | | string | 表示X509证书吊销列表签名的算法名 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1753,6 +2013,14 @@ getSignatureAlgOid() : string | ------ | --------------------------------------------- | | string | 表示X509证书吊销列表签名算法的对象标志符OID。 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1789,6 +2057,14 @@ getSignatureAlgParams() : DataBlob | --------------------- | ---------------------------------- | | [DataBlob](#datablob) | 表示X509证书吊销列表签名的算法参数 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1831,6 +2107,14 @@ createCertChainValidator(algorithm :string) : CertChainValidator | ------------------ | -------------------- | | CertChainValidator | 表示证书链校验器对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -1846,7 +2130,7 @@ let validator = cryptoCert.createCertChainValidator("PKIX"); ### 属性 -**系统能力:** SystemCapability.Security.CryptoFramework +**系统能力:** SystemCapability.Security.Cert | 名称 | 类型 | 可读 | 可写 | 说明 | | ------- | ------ | ---- | ---- | -------------------------- | @@ -1869,6 +2153,19 @@ validate(certChain : CertChainData, callback : AsyncCallback\) : void | certChain | [CertChainData](#certchaindata) | 是 | 表示X509证书链序列化数据 | | callback | AsyncCallback\ | 是 | 回调函数。使用AsyncCallback的第一个error参数判断是否校验成功,error为null表示成功,error不为null表示失败 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | +| 19030002 | the certificate signature verification failed. | +| 19030003 | the certificate has not taken effect. | +| 19030004 | the certificate has expired. | +| 19030005 | failed to obtain the certificate issuer. | +| 19030006 | the key cannot be used for signing a certificate. | +| 19030007 | the key cannot be used for digital signature. | **示例:** @@ -1916,6 +2213,20 @@ validate(certChain : CertChainData) : Promise\ | -------------- | ----------- | | Promise\ | Promise对象 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | +| 19030002 | the certificate signature verification failed. | +| 19030003 | the certificate has not taken effect. | +| 19030004 | the certificate has expired. | +| 19030005 | failed to obtain the certificate issuer. | +| 19030006 | the key cannot be used for signing a certificate. | +| 19030007 | the key cannot be used for digital signature. | + **示例:** ```js @@ -1980,6 +2291,13 @@ getEncoded(callback : AsyncCallback\) : void | -------- | --------------------------------------------- | ---- | ------------------------------------ | | callback | AsyncCallback\<[EncodingBlob](#encodingblob)> | 是 | 回调函数。表示被吊销证书的序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | **示例:** @@ -2011,6 +2329,14 @@ getEncoded() : Promise\ | --------------------------------------- | -------------------------- | | Promise\<[EncodingBlob](#encodingblob)> | 表示被吊销证书的序列化数据 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js @@ -2063,6 +2389,13 @@ getCertIssuer() : DataBlob | --------------------- | ----------------------- | | [DataBlob](#datablob) | 表示被吊销证书的颁发者信息 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | -------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | + **示例:** ```js @@ -2091,6 +2424,14 @@ getRevocationDate() : string | ------ | ------------------ | | string | 表示证书被吊销的日期 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------- | +| 19020001 | memory error. | +| 19020002 | runtime error. | +| 19030001 | crypto operation error. | + **示例:** ```js diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md index 4c94720c13746c8a1ff26203755b29a34106a649..564bde75b6d087feca5e8945eab230ad6551e372 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md @@ -30,7 +30,7 @@ getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<Rd | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ | -| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | +| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-inner-application-uiAbilityContext.md)。 | | config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | | callback | AsyncCallback<[RdbStore](#rdbstore)> | 是 | 指定callback回调函数,返回RdbStore对象。 | @@ -108,7 +108,7 @@ getRdbStore(context: Context, config: StoreConfig): Promise<RdbStore> | 参数名 | 类型 | 必填 | 说明 | | ------- | -------------------------------- | ---- | ------------------------------------------------------------ | -| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | +| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-inner-application-uiAbilityContext.md)。 | | config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | **返回值**: @@ -188,7 +188,7 @@ deleteRdbStore(context: Context, name: string, callback: AsyncCallback<void&g | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ------------------------------------------------------------ | -| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | +| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-inner-application-uiAbilityContext.md)。 | | name | string | 是 | 数据库名称。 | | callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | @@ -249,7 +249,7 @@ deleteRdbStore(context: Context, name: string): Promise<void> | 参数名 | 类型 | 必填 | 说明 | | ------- | ------- | ---- | ------------------------------------------------------------ | -| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | +| context | Context | 是 | 应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-inner-application-uiAbilityContext.md)。 | | name | string | 是 | 数据库名称。 | **返回值**: @@ -2612,9 +2612,9 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); predicates.inDevices(['12345678abcde']); let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates); -promise.then((resultSet) =>{ +promise.then((result) =>{ console.info(`Sync done.`); - for (let i = 0; i < resultSet.length; i++) { + for (let i = 0; i < result.length; i++) { console.info(`device= ${result[i][0]}, status= ${result[i][1]}`); } }).catch((err) => { @@ -2693,10 +2693,12 @@ try { 首先需要获取resultSet对象。 ```js +let resultSet = null; let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); predicates.equalTo("AGE", 18); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); -promise.then((resultSet) => { +promise.then((result) => { + resultSet = result; console.info(`resultSet columnNames: ${resultSet.columnNames}`); console.info(`resultSet columnCount: ${resultSet.columnCount}`); }); @@ -2867,7 +2869,7 @@ goToRow(position: number): boolean let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); promise.then((resultSet) => { - resultSet.(5); + resultSet.goToRow(5); resultSet.close(); }).catch((err) => { console.error(`query failed, err: ${err}`); diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md b/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md index 3b61f968c98f5bd3ac708e912b8f39e7f776a029..84206aabcfe16da05849f39ad6f308eda9db28b8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md +++ b/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md @@ -28,7 +28,7 @@ import distributedKVStore from '@ohos.data.distributedKVStore'; | 名称 | 类型 | 必填 | 说明 | | ---------- | --------------------- | ---- | ------------------------------------------------------------ | -| context | Context | 是 |应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | +| context | Context | 是 |应用的上下文。
FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)。
Stage模型的应用Context定义见[Context](js-apis-inner-application-uiAbilityContext.md)。 | | bundleName | string | 是 | 调用方的包名。 | ## Constants @@ -1242,7 +1242,7 @@ reset(): Query | 类型 | 说明 | | -------------- | --------------------- | -| [Query](query) | 返回重置的Query对象。 | +| [Query](#query) | 返回重置的Query对象。 | **示例:** @@ -1278,7 +1278,7 @@ equalTo(field: string, value: number|string|boolean): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1312,7 +1312,7 @@ notEqualTo(field: string, value: number|string|boolean): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1345,7 +1345,7 @@ greaterThan(field: string, value: number|string|boolean): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1380,7 +1380,7 @@ lessThan(field: string, value: number|string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1415,7 +1415,7 @@ greaterThanOrEqualTo(field: string, value: number|string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1450,7 +1450,7 @@ lessThanOrEqualTo(field: string, value: number|string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1483,7 +1483,7 @@ isNull(field: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1517,7 +1517,7 @@ inNumber(field: string, valueList: number[]): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1551,7 +1551,7 @@ inString(field: string, valueList: string[]): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1585,7 +1585,7 @@ notInNumber(field: string, valueList: number[]): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1619,7 +1619,7 @@ notInString(field: string, valueList: string[]): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1653,7 +1653,7 @@ like(field: string, value: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1687,7 +1687,7 @@ unlike(field: string, value: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1714,7 +1714,7 @@ and(): Query | 类型 | 说明 | | -------------- | -------------- | -| [Query](query) | 返回查询对象。 | +| [Query](#query) | 返回查询对象。 | **示例:** @@ -1743,7 +1743,7 @@ or(): Query | 类型 | 说明 | | -------------- | -------------- | -| [Query](query) | 返回查询对象。 | +| [Query](#query) | 返回查询对象。 | **示例:** @@ -1778,7 +1778,7 @@ orderByAsc(field: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1812,7 +1812,7 @@ orderByDesc(field: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1847,7 +1847,7 @@ limit(total: number, offset: number): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1883,7 +1883,7 @@ isNotNull(field: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1910,7 +1910,7 @@ beginGroup(): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1939,7 +1939,7 @@ endGroup(): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -1974,7 +1974,7 @@ prefixKey(prefix: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -2008,7 +2008,7 @@ setSuggestIndex(index: string): Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -2042,7 +2042,7 @@ deviceId(deviceId:string):Query | 类型 | 说明 | | -------------- | --------------- | -| [Query](query) | 返回Query对象。 | +| [Query](#query) | 返回Query对象。 | **示例:** @@ -3086,7 +3086,7 @@ getEntries(query: Query, callback: AsyncCallback<Entry[]>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------- | ---- | ----------------------------------------------- | -| query | [Query](query) | 是 | 表示要匹配的键前缀。 | +| query | [Query](#query) | 是 | 表示要匹配的键前缀。 | | callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回与指定Query对象匹配的键值对列表。 | **错误码:** @@ -3148,7 +3148,7 @@ getEntries(query: Query): Promise<Entry[]> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -3414,7 +3414,7 @@ getResultSet(query: Query): Promise<KVStoreResultSet> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -3661,7 +3661,7 @@ getResultSize(query: Query, callback: AsyncCallback<number>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------------------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | | callback | AsyncCallback<number> | 是 | 回调函数。返回与指定Query对象匹配的结果数。 | **错误码:** @@ -3719,7 +3719,7 @@ getResultSize(query: Query): Promise<number> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -4548,7 +4548,7 @@ sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void | --------- | --------------------- | ---- | ---------------------------------------------- | | deviceIds | string[] | 是 | 同一组网环境下,需要同步的设备的deviceId列表。 | | mode | [SyncMode](#syncmode) | 是 | 同步模式。 | -| query | [Query](query) | 是 | 表示数据库的查询谓词条件 | +| query | [Query](#query) | 是 | 表示数据库的查询谓词条件 | | delayMs | number | 否 | 可选参数,允许延时时间,单位:ms(毫秒)。 | **错误码:** @@ -5324,7 +5324,7 @@ getEntries(query: Query, callback: AsyncCallback<Entry[]>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------- | ---- | ----------------------------------------------------- | -| query | [Query](query) | 是 | 表示要匹配的键前缀。 | +| query | [Query](#query) | 是 | 表示要匹配的键前缀。 | | callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回本设备与指定Query对象匹配的键值对列表。 | **错误码:** @@ -5386,7 +5386,7 @@ getEntries(query: Query): Promise<Entry[]> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -5453,7 +5453,7 @@ getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------- | ---- | ------------------------------------------------------- | | deviceId | string | 是 | 键值对所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | | callback | AsyncCallback<[Entry](#entry)[]> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的键值对列表。 | **错误码:** @@ -5522,7 +5522,7 @@ getEntries(deviceId: string, query: Query): Promise<Entry[]> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------- | ---- | -------------------- | | deviceId | string | 是 | 键值对所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -5830,7 +5830,7 @@ getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KVStoreR | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | | callback | AsyncCallback<[KVStoreResultSet](#kvstoreresultset)> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 | **错误码:** @@ -5902,7 +5902,7 @@ getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------- | ---- | ---------------------------------- | | deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -5975,7 +5975,7 @@ getResultSet(query: Query): Promise<KVStoreResultSet> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -6041,7 +6041,7 @@ getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------- | ---- | ---------------------------------- | | deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -6341,7 +6341,7 @@ getResultSize(query: Query, callback: AsyncCallback<number>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------------------------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | | callback | AsyncCallback<number> | 是 | 回调函数。返回与本设备指定Query对象匹配的结果数。 | **错误码:** @@ -6399,7 +6399,7 @@ getResultSize(query: Query): Promise<number> | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | -------------- | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** @@ -6463,7 +6463,7 @@ getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number& | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | --------------------------------------------------- | | deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | | callback | AsyncCallback<number> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的结果数。 | **错误码:** @@ -6527,7 +6527,7 @@ getResultSize(deviceId: string, query: Query): Promise<number> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------- | ---- | ---------------------------------- | | deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 | -| query | [Query](query) | 是 | 表示查询对象。 | +| query | [Query](#query) | 是 | 表示查询对象。 | **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-emitter.md b/zh-cn/application-dev/reference/apis/js-apis-emitter.md index 64187e6a825c930ddadbd4cfa75401d1ecac1ea8..c77ef0bc116f020640db7c0d920bbb82c409867d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-emitter.md +++ b/zh-cn/application-dev/reference/apis/js-apis-emitter.md @@ -161,4 +161,4 @@ emitter.emit(innerEvent, eventData); | 名称 | 类型 | 可读 | 可写 | 说明 | | ---- | ------------------ | ---- | ---- | -------------- | -| data | [key: string]: any | 是 | 是 | 发送事件时传递的数据,数据类型支持字符串、整型和布尔型。 | +| data | [key: string]: any | 是 | 是 | 发送事件时传递的数据,数据类型支持字符串、整型和布尔型。
其中字符串长度最大为10240字节。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-file-picker.md b/zh-cn/application-dev/reference/apis/js-apis-file-picker.md index a14b82314a97c1e7d99e69ecf1291bb32b718ece..7e7b6963fae8fe2194cab97a8fb8db45b363eea5 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-file-picker.md +++ b/zh-cn/application-dev/reference/apis/js-apis-file-picker.md @@ -393,7 +393,7 @@ async function example() { console.error('DocumentViewPicker.save failed with err: ' + err); }); } catch (err) { - console.errort('DocumentViewPicker failed with err: ' + err); + console.error('DocumentViewPicker failed with err: ' + err); } } ``` @@ -429,7 +429,7 @@ async function example() { console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult)); }); } catch (err) { - console.errort('DocumentViewPicker failed with err: ' + err); + console.error('DocumentViewPicker failed with err: ' + err); } } ``` @@ -462,7 +462,7 @@ async function example() { console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult)); }); } catch (err) { - console.errort('DocumentViewPicker failed with err: ' + err); + console.error('DocumentViewPicker failed with err: ' + err); } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md index 2f66868a47a28345d007b1320abbd349800f41d8..dcaf26d5b4cc123caf8eb62d8accf752fc2d8b3b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md +++ b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md @@ -6,6 +6,7 @@ fileAccess模块是基于extension机制实现的一个对公共文件访问和 > >- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >- 本模块接口为系统接口,三方应用不支持调用,当前只支持filepicker、文件管理器调用。 +>- 本模块支持对错误码进行处理,错误码及其适配方式[参考文档](../errorcodes/errorcode-filemanagement.md#错误码适配指导)。 ## 导入模块 @@ -1017,6 +1018,241 @@ access(sourceFileUri: string, callback: AsyncCallback<boolean>) : void; }; ``` +## FileAccessHelper.getFileInfoFromUri10+ + +getFileInfoFromUri(uri: string) : Promise; + +以异步方法获取uri对应的[FileInfo](#fileinfo)对象。使用promise异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | --- | --- | --- | -- | + | uri | string | 是 | 文件(夹)的Uri | + +**返回值:** + +| 类型 | 说明 | +| --- | -- | +| [FileInfo](#fileinfo) | FileInfo对象 | + +**示例:** + + ```js + // 以媒体库uri为例 + // 示例代码sourceUri表示Download目录,该uri是对应的fileInfo中uri + // 开发者应根据自己实际获取的uri进行开发 + let sourceUri = "datashare:///media/file/6"; + try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + let fileInfo = await fileAccessHelper.getFileInfoFromUri(sourceUri); + } catch (error) { + console.error("getFileInfoFromUri failed, errCode:" + error.code + ", errMessage:" + error.message); + }; + ``` + +## FileAccessHelper.getFileInfoFromUri10+ + +getFileInfoFromUri(uri: string, callback: AsyncCallback) : void; + +以异步方法获取uri对应的[FileInfo](#fileinfo)对象。使用callback异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | --- | --- | --- | -- | + | uri | string | 是 | 文件(夹)的Uri | + | callback | AsyncCallback<string> | 是 | uri对应的FileInfo对象 | + +**示例:** + + ```js + // 以媒体库uri为例 + // 示例代码sourceUri表示Download目录,该uri是对应的fileInfo中uri + // 开发者应根据自己实际获取的uri进行开发 + let sourceUri = "datashare:///media/file/6"; + try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + fileAccessHelper.getFileInfoFromUri(sourceUri, function (err, fileInfo) { + if (err) { + console.error("Failed to getFileInfoFromUri in async, errCode:" + err.code + ", errMessage:" + err.message); + return; + } + console.log("getFileInfoFromUri success, fileInfo: " + JSON.stringify(fileInfo)); + }); + } catch (error) { + console.error("getFileInfoFromUri failed, errCode:" + error.code + ", errMessage:" + error.message); + }; + ``` + + +## FileAccessHelper.getFileInfoFromRelativePath10+ + +getFileInfoFromRelativePath(relativePath: string) : Promise; + +以异步方法获取relativePath对应的[FileInfo](#fileinfo)对象。使用promise异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | --- | --- | --- | -- | + | relativePath | string | 是 | 文件(夹)的相对路径 | + +**返回值:** + +| 类型 | 说明 | +| --- | -- | +| [FileInfo](#fileinfo) | FileInfo对象 | + +**示例:** + + ```js + // 以媒体库relativePath为例 + // 示例代码relativePath表示Download目录,该relativePath是对应的fileInfo中relativePath + // 开发者应根据自己实际获取的relativePath进行开发 + let relativePath = "Download/"; + try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + let fileInfo = await fileAccessHelper.getFileInfoFromRelativePath(relativePath); + } catch (error) { + console.error("getFileInfoFromRelativePath failed, errCode:" + error.code + ", errMessage:" + error.message); + }; + ``` + +## FileAccessHelper.getFileInfoFromRelativePath10+ + +getFileInfoFromRelativePath(relativePath: string, callback: AsyncCallback) : void; + +以异步方法获取relativePath对应的[FileInfo](#fileinfo)对象。使用callback异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | --- | --- | --- | -- | + | relativePath | string | 是 | 文件(夹)的相对路径 | + | callback | AsyncCallback<string> | 是 | relativePath对应的FileInfo对象 | + +**示例:** + + ```js + // 以媒体库relativePath为例 + // 示例代码relativePath表示Download目录,该relativePath是对应的fileInfo中relativePath + // 开发者应根据自己实际获取的relativePath进行开发 + let relativePath = "Download/"; + try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + fileAccessHelper.getFileInfoFromRelativePath(relativePath, function (err, fileInfo) { + if (err) { + console.error("Failed to getFileInfoFromRelativePath in async, errCode:" + err.code + ", errMessage:" + err.message); + return; + } + console.log("getFileInfoFromRelativePath success, fileInfo: " + JSON.stringify(fileInfo)); + }); + } catch (error) { + console.error("getFileInfoFromRelativePath failed, errCode:" + error.code + ", errMessage:" + error.message); + }; + ``` + +## FileAccessHelper.getThumbnail10+ + +getThumbnail(uri: string, size: image.Size) : Promise<image.PixelMap> + +通过指定uri和尺寸获取媒体文件的Pixelmap对象,使用Promise异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ----------------------------------- | ---- | ----------- | +| uri | string | 是 | 媒体文件uri | +| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 | + +**返回值:** + +| 类型 | 说明 | +| :---------------------------- | :----------------- | +| Promise<image.PixelMap> | 返回的Pixelmap对象 | + +**示例:** + +```js +// 以媒体库uri为例 +// 示例代码targetUri表示Download目录下某个媒体文件(图片、音频、视频),该uri是对应的fileInfo中uri +// 开发者应根据自己实际获取的uri进行开发 +let targetUri = "datashare:///media/image/100"; +let size = { width: 128, height: 128 }; +try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + let pixelMap = await fileAccessHelper.getThumbnail(targetUri, size); + let imageInfo = await pixelMap.getImageInfo(); + console.log("getThumbnail sucess, pixelMap.width: " + imageInfo.size.width); + console.log("getThumbnail sucess, pixelMap.height: " + imageInfo.size.height); +} catch (error) { + console.error("getThumbnail failed, errCode:" + error.code + ", errMessage:" + error.message); +}; +``` + +## FileAccessHelper.getThumbnail10+ + + getThumbnail(uri: string, size: image.Size, callback: AsyncCallback<image.PixelMap>) : void + +通过指定uri和尺寸获取媒体文件的Pixelmap对象,使用callback异步回调。 + +**系统能力**:SystemCapability.FileManagement.UserFileService + +**需要权限**:ohos.permission.FILE_ACCESS_MANAGER + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------- | ---- | ------------------ | +| uri | string | 是 | 媒体文件uri | +| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 | +| callback | AsyncCallback<image.PixelMap> | 是 | 返回的Pixelmap对象 | + +**示例:** + +```js +// 以媒体库uri为例 +// 示例代码targetUri表示Download目录下某个媒体文件(图片、音频、视频),该uri是对应的fileInfo中uri +// 开发者应根据自己实际获取的uri进行开发 +let targetUri = "datashare:///media/image/100"; +let size = { width: 128, height: 128 }; +try { + // fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 + fileAccessHelper.getThumbnail(targetUri, size, async(err, pixelMap) => { + if (err) { + console.error("Failed to getThumbnail in async, errCode:" + err.code + ", errMessage:" + err.message); + return; + } + let imageInfo = await pixelMap.getImageInfo(); + console.log("getThumbnail sucess, pixelMap.width: " + imageInfo.size.width); + console.log("getThumbnail sucess, pixelMap.height: " + imageInfo.size.height); + }); +} catch (error) { + console.error("getThumbnail failed, errCode:" + error.code + ", errMessage:" + error.message); +}; +``` + ## RootIterator.next next( ) : { value: RootInfo, done: boolean } @@ -1063,6 +1299,7 @@ FileIterator表示文件夹的迭代器对象,可以通过next同步方法获 | ------ | ------ | -------- | ------ | -------- | | deviceType | number | 是 | 否 |设备类型 | | uri | string | 是 | 否 | 设备根目录Uri | +| relativePath10+ | string | 是 | 否 | 根目录的相对路径 | | displayName | string | 是 | 否 | 设备名称 | | deviceFlags | number | 是 | 否 | 设备支持的能力 | @@ -1079,6 +1316,7 @@ FileIterator表示文件夹的迭代器对象,可以通过next同步方法获 | 名称 | 类型 | 可读 | 可写 | 说明 | | ------ | ------ | -------- | ------ | -------- | | uri | string | 是 | 否 | 文件(夹)的uri | +| relativePath10+ | string | 是 | 否 | 文件(夹)的相对路径 | | fileName | string | 是 | 否 | 文件(夹)的名称 | | mode | number | 是 | 否 | 文件(夹)的权限信息 | | size | number | 是 | 否 | 文件(夹)的大小 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-http.md b/zh-cn/application-dev/reference/apis/js-apis-http.md index 1cdf224165953ca89bc5d02298ff045a4f45b23c..c863823c195a7fdf57cc8a6592b8734b5de4b4eb 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-http.md +++ b/zh-cn/application-dev/reference/apis/js-apis-http.md @@ -67,7 +67,7 @@ httpRequest.request( ## http.createHttp -createHttp\(\): HttpRequest +createHttp(): HttpRequest 创建一个HTTP请求,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header事件。每一个HttpRequest对象对应一个HTTP请求。如需发起多个HTTP请求,须为每个HTTP请求创建对应HttpRequest对象。 @@ -88,11 +88,11 @@ let httpRequest = http.createHttp(); ## HttpRequest -HTTP请求任务。在调用HttpRequest的方法前,需要先通过[createHttp\(\)](#httpcreatehttp)创建一个任务。 +HTTP请求任务。在调用HttpRequest的方法前,需要先通过[createHttp()](#httpcreatehttp)创建一个任务。 ### request -request\(url: string, callback: AsyncCallback\\):void +request(url: string, callback: AsyncCallback\):void 根据URL地址,发起HTTP网络请求,使用callback方式作为异步方法。 @@ -140,7 +140,7 @@ httpRequest.request("EXAMPLE_URL", (err, data) => { ### request -request\(url: string, options: HttpRequestOptions, callback: AsyncCallback\\):void +request(url: string, options: HttpRequestOptions, callback: AsyncCallback\):void 根据URL地址和相关配置项,发起HTTP网络请求,使用callback方式作为异步方法。 @@ -223,7 +223,7 @@ httpRequest.request("EXAMPLE_URL", ### request -request\(url: string, options? : HttpRequestOptions\): Promise\ +request(url: string, options? : HttpRequestOptions): Promise\ 根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法。 @@ -309,7 +309,7 @@ promise.then((data) => { ### destroy -destroy\(\): void +destroy(): void 中断请求任务。 @@ -323,7 +323,7 @@ httpRequest.destroy(); ### request210+ -request2(url: string, callback: AsyncCallback): void +request2(url: string, callback: AsyncCallback\): void 根据URL地址和相关配置项,发起HTTP网络请求并返回流式响应,使用callback方式作为异步方法。 @@ -359,7 +359,7 @@ request2(url: string, callback: AsyncCallback): void ```js httpRequest.request2("EXAMPLE_URL", (err) => { if (!err) { - console.info(request2 OK!); + console.info("request2 OK!"); } else { console.info("request2 ERROR : err = " + JSON.stringify(err)); } @@ -368,7 +368,7 @@ httpRequest.request2("EXAMPLE_URL", (err) => { ### request210+ -request2(url: string, options: HttpRequestOptions, callback: AsyncCallback): void +request2(url: string, options: HttpRequestOptions, callback: AsyncCallback\): void 根据URL地址和相关配置项,发起HTTP网络请求并返回流式响应,使用callback方式作为异步方法。 @@ -437,7 +437,7 @@ httpRequest.request2("EXAMPLE_URL", connectTimeout: 60000 }, (err) => { if (!err) { - console.info(request2 OK!); + console.info("request2 OK!"); } else { console.info("request2 ERROR : err = " + JSON.stringify(err)); } @@ -445,7 +445,7 @@ httpRequest.request2("EXAMPLE_URL", ``` ### request210+ -request2\(url: string, options? : HttpRequestOptions\): Promise\ +request2(url: string, options? : HttpRequestOptions): Promise\ 根据URL地址,发起HTTP网络请求并返回流式响应,使用Promise方式作为异步方法。 @@ -518,20 +518,20 @@ let promise = httpRequest.request("EXAMPLE_URL", { } }); promise.then(() => { - console.info(request2 OK!); + console.info("request2 OK!"); }).catch((err) => { console.info("request2 ERROR : err = " + JSON.stringify(err)); }); ``` -### on\('headerReceive'\) +### on('headerReceive') -on\(type: 'headerReceive', callback: AsyncCallback\): void +on(type: 'headerReceive', callback: AsyncCallback\): void 订阅HTTP Response Header 事件。 >![](public_sys-resources/icon-note.gif) **说明:** ->此接口已废弃,建议使用[on\('headersReceive'\)8+](#onheadersreceive8)替代。 +>此接口已废弃,建议使用[on('headersReceive')8+](#onheadersreceive8)替代。 **系统能力**:SystemCapability.Communication.NetStack @@ -554,15 +554,15 @@ httpRequest.on('headerReceive', (err, data) => { }); ``` -### off\('headerReceive'\) +### off('headerReceive') -off\(type: 'headerReceive', callback?: AsyncCallback\): void +off(type: 'headerReceive', callback?: AsyncCallback\): void 取消订阅HTTP Response Header 事件。 >![](public_sys-resources/icon-note.gif) **说明:** > ->1. 此接口已废弃,建议使用[off\('headersReceive'\)8+](#offheadersreceive8)替代。 +>1. 此接口已废弃,建议使用[off('headersReceive')8+](#offheadersreceive8)替代。 > >2. 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 @@ -581,9 +581,9 @@ off\(type: 'headerReceive', callback?: AsyncCallback\): void httpRequest.off('headerReceive'); ``` -### on\('headersReceive'\)8+ +### on('headersReceive')8+ -on\(type: 'headersReceive', callback: Callback\): void +on(type: 'headersReceive', callback: Callback\): void 订阅HTTP Response Header 事件。 @@ -604,9 +604,9 @@ httpRequest.on('headersReceive', (header) => { }); ``` -### off\('headersReceive'\)8+ +### off('headersReceive')8+ -off\(type: 'headersReceive', callback?: Callback\): void +off(type: 'headersReceive', callback?: Callback\): void 取消订阅HTTP Response Header 事件。 @@ -628,9 +628,9 @@ off\(type: 'headersReceive', callback?: Callback\): void httpRequest.off('headersReceive'); ``` -### once\('headersReceive'\)8+ +### once('headersReceive')8+ -once\(type: 'headersReceive', callback: Callback\): void +once(type: 'headersReceive', callback: Callback\): void 订阅HTTP Response Header 事件,但是只触发一次。一旦触发之后,订阅器就会被移除。使用callback方式作为异步方法。 @@ -650,9 +650,9 @@ httpRequest.once('headersReceive', (header) => { console.info('header: ' + JSON.stringify(header)); }); ``` -### on\('dataReceive'\)10+ +### on('dataReceive')10+ -on\(type: 'dataReceive', callback: Callback\\): void +on(type: 'dataReceive', callback: Callback\): void 订阅HTTP流式响应数据接收事件。 @@ -673,9 +673,9 @@ httpRequest.on('dataReceive', (data) => { }); ``` -### off\('dataReceive'\)10+ +### off('dataReceive')10+ -off\(type: 'dataReceive', callback?: Callback\\): void +off(type: 'dataReceive', callback?: Callback\): void 取消订阅HTTP流式响应数据接收事件。 @@ -697,9 +697,9 @@ off\(type: 'dataReceive', callback?: Callback\\): void httpRequest.off('dataReceive'); ``` -### on\('dataEnd'\)10+ +### on('dataEnd')10+ -on\(type: 'dataEnd', callback: Callback\\): void +on(type: 'dataEnd', callback: Callback\): void 订阅HTTP流式响应数据接收完毕事件。 @@ -720,7 +720,7 @@ httpRequest.on('dataReceive', () => { }); ``` -### off\('dataEnd'\)10+ +### off('dataEnd')10+ off(type: 'dataEnd', callback?: Callback\): void @@ -744,9 +744,9 @@ off(type: 'dataEnd', callback?: Callback\): void httpRequest.off('dataEnd'); ``` -### on\('dataProgress'\)10+ +### on('dataProgress')10+ - on\(type: 'dataProgress', callback: Callback\<{ receiveSize: number, totalSize: number }\>\): void + on(type: 'dataProgress', callback: Callback\<{ receiveSize: number, totalSize: number }\>): void 订阅HTTP流式响应数据接收进度事件。 @@ -757,7 +757,7 @@ httpRequest.off('dataEnd'); | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------- | ---- | --------------------------------- | | type | string | 是 | 订阅的事件类型,'dataProgress'。 | -| callback | AsyncCallback\<{ receiveSize: number, totalSize: number }\> | 是 | 回调函数。 | +| callback | AsyncCallback\<{ receiveSize: number, totalSize: number }\> | 是 | 回调函数。
receiveSize:已接收的数据字节数,totalSize待接收的字节总数 | **示例:** @@ -769,7 +769,7 @@ httpRequest.on('dataProgress', (data) => { }); ``` -### off\('dataProgress'\)10+ +### off('dataProgress')10+ off(type: 'dataProgress', callback?: Callback\<{ receiveSize: number, totalSize: number }\>): void @@ -919,7 +919,7 @@ let httpResponseCache = http.createHttpResponseCache(); ### flush9+ -flush(callback: AsyncCallback\): void +flush(callback: AsyncCallback\): void 将缓存中的数据写入文件系统,以便在下一个HTTP请求中访问所有缓存数据,使用callback方式作为异步方法。 @@ -929,7 +929,7 @@ flush(callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数返回写入结果。 | +| callback | AsyncCallback\ | 是 | 回调函数返回写入结果。 | **示例:** @@ -945,7 +945,7 @@ httpResponseCache.flush(err => { ### flush9+ -flush(): Promise\ +flush(): Promise\ 将缓存中的数据写入文件系统,以便在下一个HTTP请求中访问所有缓存数据,使用Promise方式作为异步方法。 @@ -955,7 +955,7 @@ flush(): Promise\ | 类型 | 说明 | | --------------------------------- | ------------------------------------- | -| Promise\> | 以Promise形式返回写入结果。 | +| Promise\ | 以Promise形式返回写入结果。 | **示例:** @@ -969,7 +969,7 @@ httpResponseCache.flush().then(() => { ### delete9+ -delete(callback: AsyncCallback\): void +delete(callback: AsyncCallback\): void 禁用缓存并删除其中的数据,使用callback方式作为异步方法。 @@ -979,7 +979,7 @@ delete(callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数返回删除结果。| +| callback | AsyncCallback\ | 是 | 回调函数返回删除结果。| **示例:** @@ -994,7 +994,7 @@ httpResponseCache.delete(err => { ``` ### delete9+ -delete(): Promise\ +delete(): Promise\ 禁用缓存并删除其中的数据,使用Promise方式作为异步方法。 @@ -1004,7 +1004,7 @@ delete(): Promise\ | 类型 | 说明 | | --------------------------------- | ------------------------------------- | -| Promise\ | 以Promise形式返回删除结果。 | +| Promise\ | 以Promise形式返回删除结果。 | **示例:** @@ -1023,7 +1023,7 @@ http的数据类型。 **系统能力**:SystemCapability.Communication.NetStack | 名称 | 值 | 说明 | -| ------------------ | -- | ----------- | +| ------------------ | -- | ----------- | | STRING | 0 | 字符串类型。 | | OBJECT | 1 | 对象类型。 | | ARRAY_BUFFER | 2 | 二进制数组类型。| diff --git a/zh-cn/application-dev/reference/apis/js-apis-i18n.md b/zh-cn/application-dev/reference/apis/js-apis-i18n.md index 027ec927950fbb6f3193140966935dffdf41373e..c2e88eeed1b761482ec958b0add5357f69c07fbc 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-i18n.md +++ b/zh-cn/application-dev/reference/apis/js-apis-i18n.md @@ -1194,7 +1194,7 @@ getInstance(locale?:string): IndexUtil **示例:** ```js - let indexUtil= I18n.getInstance("zh-CN"); + let indexUtil = I18n.getInstance("zh-CN"); ``` @@ -1267,7 +1267,7 @@ getIndex(text: string): string **示例:** ```js - let indexUtil= I18n.getInstance("zh-CN"); + let indexUtil = I18n.getInstance("zh-CN"); let index = indexUtil.getIndex("hi"); // index = "H" ``` @@ -1382,7 +1382,7 @@ first(): number **示例:** ```js - let iterator = i18n.getLineInstance("en"); + let iterator = I18n.getLineInstance("en"); iterator.setLineBreakText("Apple is my favorite fruit."); let firstPos = iterator.first(); // firstPos = 0 ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-image.md b/zh-cn/application-dev/reference/apis/js-apis-image.md index b08aa4862fdb7c553b6b1fe5e1ffb648687d6e08..8c0eb7fb0049de9da17c35d9c82f0e66e6483fb1 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-image.md +++ b/zh-cn/application-dev/reference/apis/js-apis-image.md @@ -947,8 +947,18 @@ createImageSource(uri: string): ImageSource **示例:** ```js -let context = featureAbility.getContext(); -let path = context.getCacheDir() + "test.jpg"; +//Stage模型 +const context = getContext(this); +const path = context.getCacheDir() + "/test.jpg"; +const imageSourceApi = image.createImageSource(path); +``` + +```js +//FA模型 +import featureAbility from '@ohos.ability.featureAbility'; + +const context = featureAbility.getContext(); +const path = context.getCacheDir() + "/test.jpg"; const imageSourceApi = image.createImageSource(path); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md index 654266d918243b97d796ce135eb35e3669b37ece..7e1bd8d84a5f9c347bae427164f2f11e4577f781 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md @@ -492,8 +492,8 @@ abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { console.info('getCurrentTopAbility callback'); ability = data; - abilityDelegator.doAbilityForeground(ability, (err : any, data : any) => { - console.info('doAbilityForeground callback'); + abilityDelegator.doAbilityForeground(ability, (err : any) => { + console.info("doAbilityForeground callback"); }); }); ``` @@ -528,8 +528,8 @@ abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { console.info('getCurrentTopAbility callback'); ability = data; - abilityDelegator.doAbilityForeground(ability).then((data : any) => { - console.info('doAbilityForeground promise'); + abilityDelegator.doAbilityForeground(ability).then(() => { + console.info("doAbilityForeground promise"); }); }); ``` @@ -559,8 +559,8 @@ abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { console.info('getCurrentTopAbility callback'); ability = data; - abilityDelegator.doAbilityBackground(ability, (err : any, data : any) => { - console.info('doAbilityBackground callback'); + abilityDelegator.doAbilityBackground(ability, (err : any) => { + console.info("doAbilityBackground callback"); }); }); ``` @@ -595,8 +595,8 @@ abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { console.info('getCurrentTopAbility callback'); ability = data; - abilityDelegator.doAbilityBackground(ability).then((data : any) => { - console.info('doAbilityBackground promise'); + abilityDelegator.doAbilityBackground(ability).then(() => { + console.info("doAbilityBackground promise"); }); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationActionButton.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationActionButton.md new file mode 100644 index 0000000000000000000000000000000000000000..d822600d6939bf2c981a1ddbd611d2d6672816ca --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationActionButton.md @@ -0,0 +1,16 @@ +# NotificationActionButton + +描述通知中显示的操作按钮。 + +> **说明:** +> +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| --------- | ----------------------------------------------- | --- | ---- | ------------------------- | +| title | string | 是 | 是 | 按钮标题。 | +| wantAgent | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | 点击按钮时触发的WantAgent。 | +| extras | { [key: string]: any } | 是 | 是 | 按钮扩展信息。 | +| userInput8+ | [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md) | 是 | 是 | 用户输入对象实例。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationCommonDef.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationCommonDef.md new file mode 100644 index 0000000000000000000000000000000000000000..5d3e7eee4755935751d1aaa1859fa16d3663197b --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationCommonDef.md @@ -0,0 +1,16 @@ +# NotificationCommonDef + +> **说明:** +> +> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## BundleOption + +BundleOption模块为指定应用的包信息。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 必填 | 说明 | +| ------ | ------ |---- | ------ | +| bundle | string | 是 | 应用的包信息。 | +| uid | number | 否 | 用户ID。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationContent.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationContent.md new file mode 100644 index 0000000000000000000000000000000000000000..be8496b25a4909e2c7f2796e7e98c1381b50dfe1 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationContent.md @@ -0,0 +1,77 @@ +# NotificationContent + +描述通知类型。 + +> **说明:** +> +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ----------- | ------------------------------------------------------------ | ---- | --- | ------------------ | +| contentType | [ContentType](./js-apis-notificationManager.md#contenttype) | 是 | 是 | 通知内容类型。 | +| normal | [NotificationBasicContent](#notificationbasiccontent) | 是 | 是 | 基本类型通知内容。 | +| longText | [NotificationLongTextContent](#notificationlongtextcontent) | 是 | 是 | 长文本类型通知内容。 | +| multiLine | [NotificationMultiLineContent](#notificationmultilinecontent) | 是 | 是 | 多行类型通知内容。 | +| picture | [NotificationPictureContent](#notificationpicturecontent) | 是 | 是 | 图片类型通知内容。 | + +## NotificationBasicContent + +描述普通文本通知。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------------- | ------ | ---- | ---- | ---------------------------------- | +| title | string | 是 | 是 | 通知标题。 | +| text | string | 是 | 是 | 通知内容。 | +| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | + + +## NotificationLongTextContent + +描述长文本通知。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------------- | ------ | ---- | --- | -------------------------------- | +| title | string | 是 | 是 | 通知标题。 | +| text | string | 是 | 是 | 通知内容。 | +| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | +| longText | string | 是 | 是 | 通知的长文本。 | +| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | +| expandedTitle | string | 是 | 是 | 通知展开时的标题。 | + + +## NotificationMultiLineContent + +描述多行文本通知。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------------- | --------------- | --- | --- | -------------------------------- | +| title | string | 是 | 是 | 通知标题。 | +| text | string | 是 | 是 | 通知内容。 | +| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | +| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | +| longTitle | string | 是 | 是 | 通知展开时的标题。 | +| lines | Array\ | 是 | 是 | 通知的多行文本。 | + + +## NotificationPictureContent + +描述附有图片的通知。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------------- | -------------- | ---- | --- | -------------------------------- | +| title | string | 是 | 是 | 通知标题。 | +| text | string | 是 | 是 | 通知内容。 | +| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | +| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | +| expandedTitle | string | 是 | 是 | 通知展开时的标题。 | +| picture | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知的图片内容。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationFlags.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationFlags.md new file mode 100644 index 0000000000000000000000000000000000000000..1dfc0990395386c786064be441c7c413d2fc744c --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationFlags.md @@ -0,0 +1,29 @@ +# NotificationFlags + +描述通知标志的实例。 + +> **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ---------------- | ---------------------- | ---- | ---- | --------------------------------- | +| soundEnabled | [NotificationFlagStatus](#notificationflagstatus) | 是 | 否 | 是否启用声音提示。 | +| vibrationEnabled | [NotificationFlagStatus](#notificationflagstatus) | 是 | 否 | 是否启用振动提醒功能。 | + + +## NotificationFlagStatus + +描述通知标志状态。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +**系统接口**:此接口为系统接口,三方应用不支持调用。 + +| 名称 | 值 | 说明 | +| -------------- | --- | --------------------------------- | +| TYPE_NONE | 0 | 默认标志。 | +| TYPE_OPEN | 1 | 通知标志打开。 | +| TYPE_CLOSE | 2 | 通知标志关闭。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationRequest.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationRequest.md new file mode 100644 index 0000000000000000000000000000000000000000..9c37ecd7a7fa595eb456796051157c62cf30ae68 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationRequest.md @@ -0,0 +1,63 @@ +# NotificationRequest + +描述通知的请求。 + +> **说明:** +> +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| --------------------- | --------------------------------------------- | ---- | --- | -------------------------- | +| content | [NotificationContent](js-apis-inner-notification-notificationContent.md#notificationcontent) | 是 | 是 | 通知内容。 | +| id | number | 是 | 是 | 通知ID。 | +| slotType | [SlotType](js-apis-notificationManager.md#slottype) | 是 | 是 | 通道类型。 | +| isOngoing | boolean | 是 | 是 | 是否进行时通知。 | +| isUnremovable | boolean | 是 | 是 | 是否可移除。 | +| deliveryTime | number | 是 | 是 | 通知发送时间。 | +| tapDismissed | boolean | 是 | 是 | 通知是否自动清除。 | +| autoDeletedTime | number | 是 | 是 | 自动清除的时间。 | +| wantAgent | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | WantAgent封装了应用的行为意图,点击通知时触发该行为。 | +| extraInfo | {[key: string]: any} | 是 | 是 | 扩展参数。 | +| color | number | 是 | 是 | 通知背景颜色。预留能力,暂未支持。 | +| colorEnabled | boolean | 是 | 是 | 通知背景颜色是否使能。预留能力,暂未支持。 | +| isAlertOnce | boolean | 是 | 是 | 设置是否仅有一次此通知提醒。 | +| isStopwatch | boolean | 是 | 是 | 是否显示已用时间。 | +| isCountDown | boolean | 是 | 是 | 是否显示倒计时时间。 | +| isFloatingIcon | boolean | 是 | 是 | 是否显示状态栏图标。 | +| label | string | 是 | 是 | 通知标签。 | +| badgeIconStyle | number | 是 | 是 | 通知角标类型。 | +| showDeliveryTime | boolean | 是 | 是 | 是否显示分发时间。 | +| actionButtons | Array\<[NotificationActionButton](js-apis-inner-notification-notificationActionButton.md)\> | 是 | 是 | 通知按钮,最多三个按钮。 | +| smallIcon | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知小图标。可选字段,大小不超过30KB。 | +| largeIcon | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知大图标。可选字段,大小不超过30KB。 | +| creatorBundleName | string | 是 | 否 | 创建通知的包名。 | +| creatorUid8+ | number | 是 | 否 | 创建通知的UID。 | +| creatorPid | number | 是 | 否 | 创建通知的PID。 | +| creatorUserId| number | 是 | 否 | 创建通知的UserId。 | +| hashCode | string | 是 | 否 | 通知唯一标识。 | +| classification | string | 是 | 是 | 通知分类。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | +| groupName8+ | string | 是 | 是 | 组通知名称。 | +| template8+ | [NotificationTemplate](./js-apis-inner-notification-notificationTemplate.md) | 是 | 是 | 通知模板。 | +| isRemoveAllowed8+ | boolean | 是 | 否 | 通知是否能被移除。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | +| source8+ | number | 是 | 否 | 通知源。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | +| distributedOption8+ | [DistributedOptions](#distributedoptions) | 是 | 是 | 分布式通知的选项。 | +| deviceId8+ | string | 是 | 否 | 通知源的deviceId。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | +| notificationFlags8+ | [NotificationFlags](js-apis-inner-notification-notificationflags#notificationFlags) | 是 | 否 | 获取NotificationFlags。 | +| removalWantAgent9+ | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | 当移除通知时,通知将被重定向到的WantAgent实例。 | +| badgeNumber9+ | number | 是 | 是 | 应用程序图标上显示的通知数。 | + + +## DistributedOptions + +描述分布式选项。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ---------------------- | -------------- | ---- | ---- | ---------------------------------- | +| isDistributed8+ | boolean | 是 | 是 | 是否为分布式通知。 | +| supportDisplayDevices8+ | Array\ | 是 | 是 | 可以同步通知到的设备列表。 | +| supportOperateDevices8+ | Array\ | 是 | 是 | 可以打开通知的设备列表。 | +| remindType8+ | number | 是 | 否 | 通知的提醒方式。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationSlot.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationSlot.md new file mode 100644 index 0000000000000000000000000000000000000000..27d5aec3672ee7caa0eefd640153f3ee70514a3a --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationSlot.md @@ -0,0 +1,24 @@ +# NotificationSlot + +描述通知槽 + +> **说明:** +> +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------------------- | --------------------- | ---- | --- | ------------------------------------------ | +| type | [SlotType](js-apis-notificationManager.md#slottype) | 是 | 是 | 通道类型。 | +| level | number | 是 | 是 | 通知级别,不设置则根据通知渠道类型有默认值。 | +| desc | string | 是 | 是 | 通知渠道描述信息。 | +| badgeFlag | boolean | 是 | 是 | 是否显示角标。 | +| bypassDnd | boolean | 是 | 是 | 置是否在系统中绕过免打扰模式。 | +| lockscreenVisibility | number | 是 | 是 | 在锁定屏幕上显示通知的模式。 | +| vibrationEnabled | boolean | 是 | 是 | 是否可振动。 | +| sound | string | 是 | 是 | 通知提示音。 | +| lightEnabled | boolean | 是 | 是 | 是否闪灯。 | +| lightColor | number | 是 | 是 | 通知灯颜色。 | +| vibrationValues | Array\ | 是 | 是 | 通知振动样式。 | +| enabled9+ | boolean | 是 | 否 | 此通知插槽中的启停状态。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationTemplate.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationTemplate.md new file mode 100644 index 0000000000000000000000000000000000000000..58e9d4442712e965f56d6837de8d9cbfef010544 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationTemplate.md @@ -0,0 +1,14 @@ +# NotificationTemplate + +通知模板。 + +> **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ---- | ---------------------- | ---- | ---- | ---------- | +| name | string | 是 | 是 | 模板名称。 | +| data | {[key:string]: Object} | 是 | 是 | 模板数据。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationUserInput.md b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationUserInput.md new file mode 100644 index 0000000000000000000000000000000000000000..bc60f868ba6d787cbacf2b79e50102b7f06cb103 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-notification-notificationUserInput.md @@ -0,0 +1,13 @@ +# NotificationUserInput + +保存用户输入的通知消息。 + +> **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +**系统能力**:SystemCapability.Notification.Notification + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------- | ------ | --- | ---- | ----------------------------- | +| inputKey | string | 是 | 是 | 用户输入时用于标识此输入的key。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-media.md b/zh-cn/application-dev/reference/apis/js-apis-media.md index 25907d1fbcd5e36ef3450ac6174c7a815a6444fc..470a03662a97e34c6aa3e3fa27bf8eb156c7159f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-media.md +++ b/zh-cn/application-dev/reference/apis/js-apis-media.md @@ -372,6 +372,10 @@ Audio/Video播放demo可参考:[AVPlayer开发指导](../../media/avplayer-pla | width9+ | number | 是 | 否 | 视频宽,单位为像素(px),可查询参数。
返回为(0)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。 | | height9+ | number | 是 | 否 | 视频高,单位为像素(px),可查询参数。
返回为(0)表示无效值,**prepared**/**playing**/**paused**/**completed**状态下有效。 | +**说明:** + +将资源句柄(fd)传递给媒体播放器之后,请不要通过该资源句柄做其他读写操作,包括但不限于将同一个资源句柄传递给多个媒体播放器。同一时间通过同一个资源句柄读写文件时存在竞争关系,将导致播放异常。 + ### on('stateChange')9+ on(type: 'stateChange', callback: (state: AVPlayerState, reason: StateChangeReason) => void): void diff --git a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md index 752de65c1cb3089d882ca922587c05e2455a56f7..246d3418a2114a7e61ddef6227147087994cc6a3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md +++ b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md @@ -1,7 +1,10 @@ # @ohos.multimedia.medialibrary (媒体库管理) > **说明:** -> 该组件从API Version 6开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 +> - 该组件从API Version 6开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 +> - 从API Version 9开始废弃。保留至API Version 13版本。 +> - 部分功能变更为系统接口,仅供系统应用使用,请使用[@ohos.filemanagement.userFileManager](js-apis-userFileManager.md)相应接口替代。 +> - 媒体资源选择和保存功能仍开放给普通应用,请使用[@ohos.file.picker](js-apis-file-picker.md)相应接口替代。 ## 导入模块 ```js @@ -130,17 +133,12 @@ async function example() { console.info('fileAsset.displayName ' + '0 : ' + fileAsset.displayName); // 调用 getNextObject 接口获取下一个资源,直到最后一个 for (let i = 1; i < count; i++) { - fetchFileResult.getNextObject((error, fileAsset) => { - if (fileAsset == undefined) { - console.error('get next object failed with error: ' + error); - return; - } - console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); - }) + let fileAsset = await fetchFileResult.getNextObject(); + console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); } + // 释放FetchFileResult实例并使其失效。无法调用其他方法 + fetchFileResult.close(); }); - // 释放FetchFileResult实例并使其失效。无法调用其他方法 - fetchFileResult.close(); }); } ``` @@ -198,18 +196,15 @@ async function example() { console.info('fileAsset.displayName ' + '0 : ' + fileAsset.displayName); // 调用 getNextObject 接口获取下一个资源,直到最后一个 for (let i = 1; i < count; i++) { - fetchFileResult.getNextObject().then((fileAsset) => { - console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); - }).catch((error) => { - console.error('get next object failed with error: ' + error); - }) + let fileAsset = await fetchFileResult.getNextObject(); + console.info('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); } + // 释放FetchFileResult实例并使其失效。无法调用其他方法 + fetchFileResult.close(); }).catch((error) => { // 调用getFirstObject接口失败 console.error('get first object failed with error: ' + error); }); - // 释放FetchFileResult实例并使其失效。无法调用其他方法 - fetchFileResult.close(); }).catch((error) => { // 调用getFileAssets接口失败 console.error('get file assets failed with error: ' + error); @@ -499,7 +494,7 @@ async function example() { ### getAlbums7+ -getAlbums(options: MediaFetchOptions, callback: AsyncCallback): void +getAlbums(options: MediaFetchOptions, callback: AsyncCallback<Array<Album>>): void 获取相册列表,使用callback 方式返回结果。 @@ -534,7 +529,7 @@ async function example() { ### getAlbums7+ -getAlbums(options: MediaFetchOptions): Promise +getAlbums(options: MediaFetchOptions): Promise<Array<Album>> 获取相册列表,使用 promise 方式返回结果。 @@ -614,13 +609,13 @@ release(): Promise<void> media.release() ``` -### storeMediaAsset(deprecated) +### storeMediaAsset storeMediaAsset(option: MediaAssetOption, callback: AsyncCallback<string>): void 保存媒体资源,以异步方法获取保存成功的URI,使用callback形式返回结果。 -> **说明**: 从API Version 9开始废弃。 +> **说明**:此接口为API Version 6开始支持,只支持FA模型使用。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -650,13 +645,13 @@ mediaLibrary.getMediaLibrary().storeMediaAsset(option, (error, value) => { ``` -### storeMediaAsset(deprecated) +### storeMediaAsset storeMediaAsset(option: MediaAssetOption): Promise<string> 保存媒体资源,以异步方法获取保存成功的URI,使用Promise形式返回结果。 -> **说明**: 从API Version 9开始废弃。 +> **说明**:此接口为API Version 6开始支持,只支持FA模型使用。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -689,13 +684,15 @@ mediaLibrary.getMediaLibrary().storeMediaAsset(option).then((value) => { ``` -### startImagePreview(deprecated) +### startImagePreview startImagePreview(images: Array<string>, index: number, callback: AsyncCallback<void>): void 启动图片预览界面并限定预览开始显示的图片。可以预览指定序号的单张本地图片(datashare://),也可以预览列表中的所有网络图片(https://)。使用callback方式进行异步回调。 -> **说明**:
从API Version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 +> **说明**: +> 此接口为API Version 6开始支持,只支持FA模型使用。 +> 建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -731,13 +728,15 @@ mediaLibrary.getMediaLibrary().startImagePreview(images, index, (error) => { ``` -### startImagePreview(deprecated) +### startImagePreview startImagePreview(images: Array<string>, callback: AsyncCallback<void>): void 启动图片预览界面,可以预览列表中首张本地图片(datashare://),也可以预览列表中的所有网络图片(https://)。使用callback方式进行异步回调。 -> **说明**:
从API Version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 +> **说明**: +> 此接口为API Version 6开始支持,只支持FA模型使用。 +> 建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -771,13 +770,15 @@ mediaLibrary.getMediaLibrary().startImagePreview(images, (error) => { ``` -### startImagePreview(deprecated) +### startImagePreview startImagePreview(images: Array<string>, index?: number): Promise<void> 启动图片预览界面并限定预览开始显示的图片。可以预览指定序号的单张本地图片(datashare://),也可以预览列表中的所有网络图片(https://)。使用Promise方式进行异步回调。 -> **说明**:
从API Version 9开始废弃。建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 +> **说明**: +> 此接口为API Version 6开始支持,只支持FA模型使用。 +> 建议使用[Image组件](../arkui-ts/ts-basic-components-image.md)替代。
Image组件,可用于本地图片和网络图片的渲染展示。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -816,13 +817,15 @@ mediaLibrary.getMediaLibrary().startImagePreview(images, index).then(() => { ``` -### startMediaSelect(deprecated) +### startMediaSelect startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array<string>>): void 启动媒体选择界面,以异步方法获取选择的媒体URI列表,使用callback形式返回结果。 -> **说明**:
从API Version 9开始废弃。建议使用系统应用图库替代。图库是系统内置的可视资源访问应用,提供图片和视频的管理、浏览等功能,使用方法请参考[OpenHarmony/applications_photos](https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8)。 +> **说明**: +> 此接口为API Version 6开始支持,只支持FA模型使用。 +> 建议使用系统应用图库替代。图库是系统内置的可视资源访问应用,提供图片和视频的管理、浏览等功能,使用方法请参考[OpenHarmony/applications_photos](https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8)。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -830,7 +833,7 @@ startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array< | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ------------------------------------ | -| option | [MediaSelectOption](#mediaselectoptiondeprecated) | 是 | 媒体选择选项。 | +| option | [MediaSelectOption](#mediaselectoption) | 是 | 媒体选择选项。 | | callback | AsyncCallback<Array<string>> | 是 | 媒体选择回调,返回选择的媒体URI(datashare://)列表。 | **示例:** @@ -851,13 +854,15 @@ mediaLibrary.getMediaLibrary().startMediaSelect(option, (error, value) => { ``` -### startMediaSelect(deprecated) +### startMediaSelect startMediaSelect(option: MediaSelectOption): Promise<Array<string>> 启动媒体选择界面,以异步方法获取选择的媒体URI列表,使用Promise形式返回结果。 -> **说明**:
从API Version 9开始废弃。建议使用系统应用图库替代。图库是系统内置的可视资源访问应用,提供图片和视频的管理、浏览等功能,使用方法请参考[OpenHarmony/applications_photos](https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8)。 +> **说明**: +> 此接口为API Version 6开始支持,只支持FA模型使用。 +> 建议使用系统应用图库替代。图库是系统内置的可视资源访问应用,提供图片和视频的管理、浏览等功能,使用方法请参考[OpenHarmony/applications_photos](https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8)。 **系统能力**:SystemCapability.Multimedia.MediaLibrary.Core @@ -865,7 +870,7 @@ startMediaSelect(option: MediaSelectOption): Promise<Array<string>> | 参数名 | 类型 | 必填 | 说明 | | ------ | --------------------------------------- | ---- | ------- | -| option | [MediaSelectOption](#mediaselectoptiondeprecated) | 是 | 媒体选择选项。 | +| option | [MediaSelectOption](#mediaselectoption) | 是 | 媒体选择选项。 | **返回值:** @@ -1907,9 +1912,9 @@ async function example() { if(i == fetchCount - 1) { var result = fetchFileResult.isAfterLast(); console.info('mediaLibrary fileAsset isAfterLast result: ' + result); + fetchFileResult.close(); } } - fetchFileResult.close(); } ``` @@ -1969,8 +1974,8 @@ async function example() { return; } console.info('getFirstObject successfully, displayName : ' + fileAsset.displayName); + fetchFileResult.close(); }) - fetchFileResult.close(); } ``` @@ -2002,10 +2007,10 @@ async function example() { let fetchFileResult = await media.getFileAssets(getImageOp); fetchFileResult.getFirstObject().then((fileAsset) => { console.info('getFirstObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }).catch((error) => { console.error('getFirstObject failed with error: ' + error); }); - fetchFileResult.close(); } ``` @@ -2038,16 +2043,16 @@ async function example() { }; let fetchFileResult = await media.getFileAssets(getImageOp); let fileAsset = await fetchFileResult.getFirstObject(); - if (!fetchFileResult.isAfterLast) { + if (!fileAsset.isAfterLast) { fetchFileResult.getNextObject((error, fileAsset) => { if (error) { console.error('fetchFileResult getNextObject failed with error: ' + error); return; } console.log('fetchFileResult getNextObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }) } - fetchFileResult.close(); } ``` @@ -2081,14 +2086,14 @@ async function example() { }; let fetchFileResult = await media.getFileAssets(getImageOp); let fileAsset = await fetchFileResult.getFirstObject(); - if (!fetchFileResult.isAfterLast) { + if (!fileAsset.isAfterLast) { fetchFileResult.getNextObject().then((fileAsset) => { console.info('fetchFileResult getNextObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }).catch((error) => { console.error('fetchFileResult getNextObject failed with error: ' + error); }) } - fetchFileResult.close(); } ``` @@ -2124,8 +2129,8 @@ async function example() { return; } console.info('getLastObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }) - fetchFileResult.close(); } ``` @@ -2157,10 +2162,10 @@ async function example() { let fetchFileResult = await media.getFileAssets(getImageOp); fetchFileResult.getLastObject().then((fileAsset) => { console.info('getLastObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }).catch((error) => { console.error('getLastObject failed with error: ' + error); }); - fetchFileResult.close(); } ``` @@ -2197,8 +2202,8 @@ async function example() { return; } console.info('getPositionObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }) - fetchFileResult.close(); } ``` @@ -2236,10 +2241,10 @@ async function example() { let fetchFileResult = await media.getFileAssets(getImageOp); fetchFileResult.getPositionObject(0).then((fileAsset) => { console.info('getPositionObject successfully, displayName: ' + fileAsset.displayName); + fetchFileResult.close(); }).catch((error) => { console.error('getPositionObject failed with error: ' + error); }); - fetchFileResult.close(); } ``` @@ -2276,9 +2281,9 @@ async function example() { } for (let i = 0; i < fetchFileResult.getCount(); i++) { console.info('getAllObject fileAssetList ' + i + ' displayName: ' + fileAssetList[i].displayName); - } + } + fetchFileResult.close(); }) - fetchFileResult.close(); } ``` @@ -2312,10 +2317,10 @@ async function example() { for (let i = 0; i < fetchFileResult.getCount(); i++) { console.info('getAllObject fileAssetList ' + i + ' displayName: ' + fileAssetList[i].displayName); } + fetchFileResult.close(); }).catch((error) => { console.error('getAllObject failed with error: ' + error); }); - fetchFileResult.close(); } ``` @@ -2447,10 +2452,10 @@ async function example() { console.error('album getFileAssets failed with error: ' + error); return; } - let count = fetchFileResult.getcount(); + let count = fetchFileResult.getCount(); console.info('album getFileAssets successfully, count: ' + count); + fetchFileResult.close(); }); - fetchFileResult.close(); } ``` @@ -2484,7 +2489,7 @@ async function example() { selections: '', selectionArgs: [], }; - let fileNoArgsfetchOp = { + let fileNoArgsfetchOp = { selections: '', selectionArgs: [], }; @@ -2492,13 +2497,13 @@ async function example() { const albumList = await media.getAlbums(AlbumNoArgsfetchOp); const album = albumList[0]; // 取到相册列表中的一个相册,获取此相册中所有符合媒体检索选项的媒体资源 - album.getFileAssets(fileNoArgsfetchOp).then((albumFetchFileResult) => { - let count = fetchFileResult.getcount(); + album.getFileAssets(fileNoArgsfetchOp).then((fetchFileResult) => { + let count = fetchFileResult.getCount(); console.info('album getFileAssets successfully, count: ' + count); + fetchFileResult.close(); }).catch((error) => { console.error('album getFileAssets failed with error: ' + error); }); - fetchFileResult.close(); } ``` @@ -2622,12 +2627,10 @@ async function example() { | width | number | 是 | 是 | 宽(单位:像素) | | height | number | 是 | 是 | 高(单位:像素) | -## MediaAssetOption(deprecated) +## MediaAssetOption 媒体资源选项。 -> **说明**: 从API Version 9开始废弃。 - **系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core @@ -2637,16 +2640,14 @@ async function example() { | mimeType | string | 是 | 是 | 媒体MIME(Multipurpose Internet Mail Extensions)类型。
包括:'image/\*'、'video/\*'、'audio/\*'、 'file\*'。 | | relativePath | string | 是 | 是 | 自定义媒体资源保存位置,例:Pictures/ 不填则保存到默认路径。
image类型默认路径Pictures/
video类型默认路径Videos/
audio类型默认路径Audios/
file类型默认路径Documents/ 。 | -## MediaSelectOption(deprecated) +## MediaSelectOption 媒体资源类型选项。 -> **说明**: 从API Version 9开始废弃。 - **系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.MediaLibrary.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ----- | ------ | ---- | ---- | -------------------- | | type | 'image' | 'video' | 'media' | 是 | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型 | -| count | number | 是 | 是 | 媒体选择,count = 1表示单选,count大于1表示多选。 | +| count | number | 是 | 是 | 可以选择媒体数量的最大值,count = 1表示单选,count大于1表示多选。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-notification.md b/zh-cn/application-dev/reference/apis/js-apis-notification.md index b9b5f24a3c572b586124b379039bca1eaa99cdb2..8b646e42f6042ec81666bd46964b9e802b059562 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-notification.md +++ b/zh-cn/application-dev/reference/apis/js-apis-notification.md @@ -853,8 +853,8 @@ function unsubscribeCallback(err) { console.info("unsubscribe success"); } } -function onDisconnectCallback(data) { - console.info("Cancel callback: " + JSON.stringify(data)); +function onDisconnectCallback() { + console.info("subscribe disconnect"); } let subscriber = { onDisconnect: onDisconnectCallback @@ -883,8 +883,8 @@ unsubscribe(subscriber: NotificationSubscriber): Promise\ **示例:** ```js -function onDisconnectCallback(data) { - console.info("Cancel callback: " + JSON.stringify(data)); +function onDisconnectCallback() { + console.info("subscribe disconnect"); } let subscriber = { onDisconnect: onDisconnectCallback diff --git a/zh-cn/application-dev/reference/apis/js-apis-notificationManager.md b/zh-cn/application-dev/reference/apis/js-apis-notificationManager.md index 804b78251304dccae0f08e9d9a88565b65ac794e..c1c30a09a349303b3daaa6c28f8df9216421a066 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-notificationManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-notificationManager.md @@ -24,7 +24,7 @@ publish(request: NotificationRequest, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------- | ---- | ------------------------------------------- | -| request | [NotificationRequest](#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | +| request | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | | callback | AsyncCallback\ | 是 | 发布通知的回调方法。 | **错误码:** @@ -78,7 +78,7 @@ publish(request: NotificationRequest): Promise\ | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------- | ---- | ------------------------------------------- | -| request | [NotificationRequest](#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | +| request | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | **错误码:** @@ -130,7 +130,7 @@ publish(request: NotificationRequest, userId: number, callback: AsyncCallback\ | 是 | 被指定的回调方法。 | @@ -192,7 +192,7 @@ publish(request: NotificationRequest, userId: number): Promise\ | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------- | ---- | ------------------------------------------- | -| request | [NotificationRequest](#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | +| request | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | | userId | number | 是 | 用户ID。 | **错误码:** @@ -427,7 +427,7 @@ addSlot(slot: NotificationSlot, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | -------------------- | -| slot | [NotificationSlot](#notificationslot) | 是 | 要创建的通知通道对象。 | +| slot | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是 | 要创建的通知通道对象。 | | callback | AsyncCallback\ | 是 | 表示被指定的回调方法。 | **错误码:** @@ -474,7 +474,7 @@ addSlot(slot: NotificationSlot): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ---- | ---------------- | ---- | -------------------- | -| slot | [NotificationSlot](#notificationslot) | 是 | 要创建的通知通道对象。 | +| slot | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是 | 要创建的通知通道对象。 | **错误码:** @@ -585,7 +585,7 @@ addSlots(slots: Array\, callback: AsyncCallback\): voi | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ------------------------ | -| slots | Array\<[NotificationSlot](#notificationslot)\> | 是 | 要创建的通知通道对象数组。 | +| slots | Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是 | 要创建的通知通道对象数组。 | | callback | AsyncCallback\ | 是 | 表示被指定的回调方法。 | **错误码:** @@ -636,7 +636,7 @@ addSlots(slots: Array\): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ----- | ------------------------- | ---- | ------------------------ | -| slots | Array\<[NotificationSlot](#notificationslot)\> | 是 | 要创建的通知通道对象数组。 | +| slots | Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是 | 要创建的通知通道对象数组。 | **错误码:** @@ -677,7 +677,7 @@ getSlot(slotType: SlotType, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------- | ---- | ----------------------------------------------------------- | | slotType | [SlotType](#slottype) | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 | -| callback | AsyncCallback\<[NotificationSlot](#notificationslot)\> | 是 | 表示被指定的回调方法。 | +| callback | AsyncCallback\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是 | 表示被指定的回调方法。 | **错误码:** @@ -757,7 +757,7 @@ getSlots(callback: AsyncCallback>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------- | ---- | -------------------- | -| callback | AsyncCallback\\> | 是 | 以callback形式返回获取此应用程序的所有通知通道的结果。 | +| callback | AsyncCallback\\> | 是 | 以callback形式返回获取此应用程序的所有通知通道的结果。 | **错误码:** @@ -793,7 +793,7 @@ getSlots(): Promise\> | 类型 | 说明 | | ----------------------------------------------------------- | ------------------------------------------------------------ | -| Promise\\> | 以Promise形式返回获取此应用程序的所有通知通道的结果。 | +| Promise\\> | 以Promise形式返回获取此应用程序的所有通知通道的结果。 | **错误码:** @@ -965,7 +965,7 @@ setNotificationEnable(bundle: BundleOption, enable: boolean, callback: AsyncCall | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | -------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | enable | boolean | 是 | 使能状态。 | | callback | AsyncCallback\ | 是 | 设定通知使能回调函数。 | @@ -1012,7 +1012,7 @@ setNotificationEnable(bundle: BundleOption, enable: boolean): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | enable | boolean | 是 | 使能状态。 | **错误码:** @@ -1053,7 +1053,7 @@ isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback\): | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | ------------------------ | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | callback | AsyncCallback\ | 是 | 获取通知使能状态回调函数。 | **错误码:** @@ -1099,7 +1099,7 @@ isNotificationEnabled(bundle: BundleOption): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | **返回值:** @@ -1187,7 +1187,7 @@ isNotificationEnabled(): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | **返回值:** @@ -1230,7 +1230,7 @@ displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback\ | 是 | 设定角标使能回调函数。 | @@ -1277,7 +1277,7 @@ displayBadge(bundle: BundleOption, enable: boolean): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | enable | boolean | 是 | 使能状态。 | **错误码:** @@ -1318,7 +1318,7 @@ isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | ------------------------ | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | callback | AsyncCallback\ | 是 | 获取角标使能状态回调函数。 | **错误码:** @@ -1364,7 +1364,7 @@ isBadgeDisplayed(bundle: BundleOption): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | **返回值:** @@ -1483,8 +1483,8 @@ setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCal | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | -------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | -| slot | [NotificationSlot](#notificationslot) | 是 | 通知通道。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | +| slot | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是 | 通知通道。 | | callback | AsyncCallback\ | 是 | 设定通知通道回调函数。 | **错误码:** @@ -1533,8 +1533,8 @@ setSlotByBundle(bundle: BundleOption, slot: NotificationSlot): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | -| slot | [NotificationSlot](#notificationslot) | 是 | 通知通道。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | +| slot | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是 | 通知通道。 | **错误码:** @@ -1577,8 +1577,8 @@ getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback> | 是 | 获取通知通道回调函数。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | +| callback | AsyncCallback> | 是 | 获取通知通道回调函数。 | **错误码:** @@ -1623,13 +1623,13 @@ getSlotsByBundle(bundle: BundleOption): Promise> | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | **返回值:** | 类型 | 说明 | | ----------------------------------------------------------- | ------------------------------------------------------------ | -| Promise> | 以Promise形式返回获取指定应用的通知通道。 | +| Promise> | 以Promise形式返回获取指定应用的通知通道。 | **错误码:** @@ -1669,7 +1669,7 @@ getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\): voi | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | | callback | AsyncCallback\ | 是 | 获取通知通道数量回调函数。 | **错误码:** @@ -1715,7 +1715,7 @@ getSlotNumByBundle(bundle: BundleOption): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | **返回值:** @@ -1762,7 +1762,7 @@ getAllActiveNotifications(callback: AsyncCallback>) | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | -------------------- | -| callback | AsyncCallback> | 是 | 获取活动通知回调函数。 | +| callback | AsyncCallback> | 是 | 获取活动通知回调函数。 | **错误码:** @@ -1788,7 +1788,7 @@ notificationManager.getAllActiveNotifications(getAllActiveNotificationsCallback) ## notificationManager.getAllActiveNotifications -getAllActiveNotifications(): Promise\\> +getAllActiveNotifications(): Promise\\> 获取当前未删除的所有通知(Promise形式)。 @@ -1802,7 +1802,7 @@ getAllActiveNotifications(): Promise\\> | 以Promise形式返回获取活动通知。 | +| Promise\\> | 以Promise形式返回获取活动通知。 | **错误码:** @@ -1904,7 +1904,7 @@ getActiveNotifications(callback: AsyncCallback>): v | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | ------------------------------ | -| callback | AsyncCallback> | 是 | 获取当前应用通知列表回调函数。 | +| callback | AsyncCallback> | 是 | 获取当前应用通知列表回调函数。 | **错误码:** @@ -1932,7 +1932,7 @@ notificationManager.getActiveNotifications(getActiveNotificationsCallback); ## notificationManager.getActiveNotifications -getActiveNotifications(): Promise\\> +getActiveNotifications(): Promise\\> 获取当前应用未删除的通知列表(Promise形式)。 @@ -1942,7 +1942,7 @@ getActiveNotifications(): Promise\\> | 以Promise形式返回获取当前应用通知列表。 | +| Promise\\> | 以Promise形式返回获取当前应用通知列表。 | **错误码:** @@ -1974,7 +1974,7 @@ cancelGroup(groupName: string, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | --------- | --------------------- | ---- | ---------------------------- | -| groupName | string | 是 | 通知组名称,此名称需要在发布通知时通过[NotificationRequest](#notificationrequest)对象指定。 | +| groupName | string | 是 | 通知组名称,此名称需要在发布通知时通过[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象指定。 | | callback | AsyncCallback\ | 是 | 取消本应用指定组下通知的回调函数。 | **错误码:** @@ -2052,7 +2052,7 @@ removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCall | 参数名 | 类型 | 必填 | 说明 | | --------- | --------------------- | ---- | ---------------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | groupName | string | 是 | 通知组名称。 | | callback | AsyncCallback\ | 是 | 删除指定应用指定组下通知的回调函数。 | @@ -2100,7 +2100,7 @@ removeGroupByBundle(bundle: BundleOption, groupName: string): Promise\ | 参数名 | 类型 | 必填 | 说明 | | --------- | ------------ | ---- | -------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | groupName | string | 是 | 通知组名称。 | **错误码:** @@ -2743,7 +2743,7 @@ setDistributedEnable(enable: boolean, callback: AsyncCallback\): void **示例:** ```javascript -function setDistributedEnableCallback() { +function setDistributedEnableCallback(err) { if (err) { console.error(`setDistributedEnable failed, code is ${err.code}, message is ${err.message}`); } else { @@ -2888,7 +2888,7 @@ setDistributedEnableByBundle(bundle: BundleOption, enable: boolean, callback: As | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | -------------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | enable | boolean | 是 | 是否支持。 | | callback | AsyncCallback\ | 是 | 应用程序是否支持分布式通知的回调函数。 | @@ -2942,7 +2942,7 @@ setDistributedEnableByBundle(bundle: BundleOption, enable: boolean): Promise\ | 是 | 查询指定应用是否支持分布式通知的回调函数。 | **错误码:** @@ -3005,7 +3005,7 @@ isDistributedEnabledByBundle(bundle: BundleOption, callback: AsyncCallback\ | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | -------------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包。 | **返回值:** @@ -3164,7 +3164,7 @@ publishAsBundle(request: NotificationRequest, representativeBundle: string, user | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------------------------------------------- | ---- | ---------------------------------------- | -| request | [NotificationRequest](#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | +| request | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | | representativeBundle | string | 是 | 被代理应用的包名。 | | userId | number | 是 | 用户ID。 | | callback | AsyncCallback | 是 | 发布代理通知的回调方法。 | @@ -3231,7 +3231,7 @@ publishAsBundle(request: NotificationRequest, representativeBundle: string, user | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------------------------------------------- | ---- | --------------------------------------------- | -| request | [NotificationRequest](#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | +| request | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是 | 用于设置要发布通知的内容和相关配置信息。 | | representativeBundle | string | 是 | 被代理应用的包名。 | | userId | number | 是 | 用户ID。 | @@ -3391,7 +3391,7 @@ setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean, | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------- | ---- | ---------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | type | [SlotType](#slottype) | 是 | 指定渠道类型。 | | enable | boolean | 是 | 使能状态。 | | callback | AsyncCallback\ | 是 | 设置渠道使能回调函数。 | @@ -3442,7 +3442,7 @@ setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean) | 参数名 | 类型 | 必填 | 说明 | | ------ | ----------------------------- | ---- | -------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | type | [SlotType](#slottype) | 是 | 渠道类型。 | | enable | boolean | 是 | 使能状态。 | @@ -3485,7 +3485,7 @@ isNotificationSlotEnabled(bundle: BundleOption, type: SlotType, callback: AsyncC | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------- | ---- | ---------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 应用的包信息。 | +| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 应用的包信息。 | | type | [SlotType](#slottype) | 是 | 渠道类型。 | | callback | AsyncCallback\ | 是 | 获取渠道使能状态回调函数。 | @@ -3534,7 +3534,7 @@ isNotificationSlotEnabled(bundle: BundleOption, type: SlotType): Promise\ | LEVEL_HIGH | 4 | 表示通知功能已启用,状态栏中显示通知图标,有横幅和提示音。 | -## BundleOption - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------ | ------ |---- | --- | ------ | -| bundle | string | 是 | 是 | 应用的包信息。 | -| uid | number | 是 | 是 | 用户ID。 | - - ## SlotType **系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification @@ -3832,227 +3822,6 @@ notificationManager.getSyncNotificationEnabledWithoutApp(userId).then((data) => | OTHER_TYPES | 0xFFFF | 其他类型。 | -## NotificationActionButton - -描述通知中显示的操作按钮。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| --------- | ----------------------------------------------- | --- | ---- | ------------------------- | -| title | string | 是 | 是 | 按钮标题。 | -| wantAgent | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | 点击按钮时触发的WantAgent。 | -| extras | { [key: string]: any } | 是 | 是 | 按钮扩展信息。 | -| userInput | [NotificationUserInput](#notificationuserinput) | 是 | 是 | 用户输入对象实例。 | - - -## NotificationBasicContent - -描述普通文本通知。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------- | ------ | ---- | ---- | ---------------------------------- | -| title | string | 是 | 是 | 通知标题。 | -| text | string | 是 | 是 | 通知内容。 | -| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | - - -## NotificationLongTextContent - -描述长文本通知。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------- | ------ | ---- | --- | -------------------------------- | -| title | string | 是 | 是 | 通知标题。 | -| text | string | 是 | 是 | 通知内容。 | -| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | -| longText | string | 是 | 是 | 通知的长文本。 | -| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | -| expandedTitle | string | 是 | 是 | 通知展开时的标题。 | - - -## NotificationMultiLineContent - -描述多行文本通知。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------- | --------------- | --- | --- | -------------------------------- | -| title | string | 是 | 是 | 通知标题。 | -| text | string | 是 | 是 | 通知内容。 | -| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | -| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | -| longTitle | string | 是 | 是 | 通知展开时的标题。 | -| lines | Array\ | 是 | 是 | 通知的多行文本。 | - - -## NotificationPictureContent - -描述附有图片的通知。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------- | -------------- | ---- | --- | -------------------------------- | -| title | string | 是 | 是 | 通知标题。 | -| text | string | 是 | 是 | 通知内容。 | -| additionalText | string | 是 | 是 | 通知附加内容,是对通知内容的补充。 | -| briefText | string | 是 | 是 | 通知概要内容,是对通知内容的总结。 | -| expandedTitle | string | 是 | 是 | 通知展开时的标题。 | -| picture | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知的图片内容。 | - - -## NotificationContent - -描述通知类型。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | ------------------------------------------------------------ | ---- | --- | ------------------ | -| contentType | [ContentType](#contenttype) | 是 | 是 | 通知内容类型。 | -| normal | [NotificationBasicContent](#notificationbasiccontent) | 是 | 是 | 基本类型通知内容。 | -| longText | [NotificationLongTextContent](#notificationlongtextcontent) | 是 | 是 | 长文本类型通知内容。 | -| multiLine | [NotificationMultiLineContent](#notificationmultilinecontent) | 是 | 是 | 多行类型通知内容。 | -| picture | [NotificationPictureContent](#notificationpicturecontent) | 是 | 是 | 图片类型通知内容。 | - - -## NotificationFlagStatus - -描述通知标志状态。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统接口**:此接口为系统接口,三方应用不支持调用。 - -| 名称 | 值 | 说明 | -| -------------- | --- | --------------------------------- | -| TYPE_NONE | 0 | 默认标志。 | -| TYPE_OPEN | 1 | 通知标志打开。 | -| TYPE_CLOSE | 2 | 通知标志关闭。 | - - -## NotificationFlags - -描述通知标志的实例。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ---------------- | ---------------------- | ---- | ---- | --------------------------------- | -| soundEnabled | [NotificationFlagStatus](#notificationflagstatus) | 是 | 否 | 是否启用声音提示。 | -| vibrationEnabled | [NotificationFlagStatus](#notificationflagstatus) | 是 | 否 | 是否启用振动提醒功能。 | - - -## NotificationRequest - -描述通知的请求。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| --------------------- | --------------------------------------------- | ---- | --- | -------------------------- | -| content | [NotificationContent](#notificationcontent) | 是 | 是 | 通知内容。 | -| id | number | 是 | 是 | 通知ID。 | -| slotType | [SlotType](#slottype) | 是 | 是 | 通道类型。 | -| isOngoing | boolean | 是 | 是 | 是否进行时通知。 | -| isUnremovable | boolean | 是 | 是 | 是否可移除。 | -| deliveryTime | number | 是 | 是 | 通知发送时间。 | -| tapDismissed | boolean | 是 | 是 | 通知是否自动清除。 | -| autoDeletedTime | number | 是 | 是 | 自动清除的时间。 | -| wantAgent | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | WantAgent封装了应用的行为意图,点击通知时触发该行为。 | -| extraInfo | {[key: string]: any} | 是 | 是 | 扩展参数。 | -| color | number | 是 | 是 | 通知背景颜色。预留能力,暂未支持。 | -| colorEnabled | boolean | 是 | 是 | 通知背景颜色是否使能。预留能力,暂未支持。 | -| isAlertOnce | boolean | 是 | 是 | 设置是否仅有一次此通知提醒。 | -| isStopwatch | boolean | 是 | 是 | 是否显示已用时间。 | -| isCountDown | boolean | 是 | 是 | 是否显示倒计时时间。 | -| isFloatingIcon | boolean | 是 | 是 | 是否显示状态栏图标。 | -| label | string | 是 | 是 | 通知标签。 | -| badgeIconStyle | number | 是 | 是 | 通知角标类型。 | -| showDeliveryTime | boolean | 是 | 是 | 是否显示分发时间。 | -| actionButtons | Array\<[NotificationActionButton](#notificationactionbutton)\> | 是 | 是 | 通知按钮,最多三个按钮。 | -| smallIcon | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知小图标。可选字段,大小不超过30KB。 | -| largeIcon | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 是 | 通知大图标。可选字段,大小不超过30KB。 | -| creatorBundleName | string | 是 | 否 | 创建通知的包名。 | -| creatorUid | number | 是 | 否 | 创建通知的UID。 | -| creatorPid | number | 是 | 否 | 创建通知的PID。 | -| creatorUserId| number | 是 | 否 | 创建通知的UserId。 | -| hashCode | string | 是 | 否 | 通知唯一标识。 | -| classification | string | 是 | 是 | 通知分类。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | -| groupName| string | 是 | 是 | 组通知名称。 | -| template | [NotificationTemplate](#notificationtemplate) | 是 | 是 | 通知模板。 | -| isRemoveAllowed | boolean | 是 | 否 | 通知是否能被移除。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | -| source | number | 是 | 否 | 通知源。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | -| distributedOption | [DistributedOptions](#distributedoptions) | 是 | 是 | 分布式通知的选项。 | -| deviceId | string | 是 | 否 | 通知源的deviceId。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | -| notificationFlags | [NotificationFlags](#notificationflags) | 是 | 否 | 获取NotificationFlags。 | -| removalWantAgent | [WantAgent](js-apis-app-ability-wantAgent.md) | 是 | 是 | 当移除通知时,通知将被重定向到的WantAgent实例。 | -| badgeNumber | number | 是 | 是 | 应用程序图标上显示的通知数。 | - - -## DistributedOptions - -描述分布式选项。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ---------------------- | -------------- | ---- | ---- | ---------------------------------- | -| isDistributed | boolean | 是 | 是 | 是否为分布式通知。 | -| supportDisplayDevices | Array\ | 是 | 是 | 可以同步通知到的设备列表。 | -| supportOperateDevices | Array\ | 是 | 是 | 可以打开通知的设备列表。 | -| remindType | number | 是 | 否 | 通知的提醒方式。
**系统API**: 此接口为系统接口,三方应用不支持调用。 | - - -## NotificationSlot - -描述通知槽 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------------- | --------------------- | ---- | --- | ------------------------------------------ | -| type | [SlotType](#slottype) | 是 | 是 | 通道类型。 | -| level | number | 是 | 是 | 通知级别,不设置则根据通知渠道类型有默认值。 | -| desc | string | 是 | 是 | 通知渠道描述信息。 | -| badgeFlag | boolean | 是 | 是 | 是否显示角标。 | -| bypassDnd | boolean | 是 | 是 | 置是否在系统中绕过免打扰模式。 | -| lockscreenVisibility | number | 是 | 是 | 在锁定屏幕上显示通知的模式。 | -| vibrationEnabled | boolean | 是 | 是 | 是否可振动。 | -| sound | string | 是 | 是 | 通知提示音。 | -| lightEnabled | boolean | 是 | 是 | 是否闪灯。 | -| lightColor | number | 是 | 是 | 通知灯颜色。 | -| vibrationValues | Array\ | 是 | 是 | 通知振动样式。 | -| enabled9+ | boolean | 是 | 否 | 此通知插槽中的启停状态。 | - - -## NotificationTemplate - -通知模板。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ---- | ---------------------- | ---- | ---- | ---------- | -| name | string | 是 | 是 | 模板名称。 | -| data | {[key:string]: Object} | 是 | 是 | 模板数据。 | - - -## NotificationUserInput - -保存用户输入的通知消息。 - -**系统能力**:SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | ------ | --- | ---- | ----------------------------- | -| inputKey | string | 是 | 是 | 用户输入时用于标识此输入的key。 | ## DeviceRemindType diff --git a/zh-cn/application-dev/reference/apis/js-apis-notificationSubscribe.md b/zh-cn/application-dev/reference/apis/js-apis-notificationSubscribe.md index 868c70f3f7828b5d55fba84f489b460be9cef06e..7dcf55b24147daf24d409057e68b7c59eb32236e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-notificationSubscribe.md +++ b/zh-cn/application-dev/reference/apis/js-apis-notificationSubscribe.md @@ -30,8 +30,8 @@ subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, c | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------- | ---- | ---------------- | -| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是 | 通知订阅对象。 | -| info | [NotificationSubscribeInfo](#notificationsubscribeinfo) | 是 | 通知订阅信息。 | +| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是 | 通知订阅对象。 | +| info | [NotificationSubscribeInfo](js-apis-notification.md#notificationsubscribeinfo) | 是 | 通知订阅信息。 | | callback | AsyncCallback\ | 是 | 订阅动作回调函数。 | **错误码:** @@ -83,7 +83,7 @@ subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\): | 参数名 | 类型 | 必填 | 说明 | | ---------- | ---------------------- | ---- | ---------------- | -| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是 | 通知订阅对象。 | +| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是 | 通知订阅对象。 | | callback | AsyncCallback\ | 是 | 订阅动作回调函数。 | **错误码:** @@ -133,8 +133,8 @@ subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo): | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------- | ---- | ------------ | -| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是 | 通知订阅对象。 | -| info | [NotificationSubscribeInfo](#notificationsubscribeinfo) | 否 | 通知订阅信息。 | +| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是 | 通知订阅对象。 | +| info | [NotificationSubscribeInfo](js-apis-notification.md#notificationsubscribeinfo) | 否 | 通知订阅信息。 | **错误码:** @@ -178,7 +178,7 @@ unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\) | 参数名 | 类型 | 必填 | 说明 | | ---------- | ---------------------- | ---- | -------------------- | -| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是 | 通知订阅对象。 | +| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是 | 通知订阅对象。 | | callback | AsyncCallback\ | 是 | 取消订阅动作回调函数。 | **错误码:** @@ -201,8 +201,8 @@ function unsubscribeCallback(err) { console.info("unsubscribe success"); } } -function onDisconnectCallback(data) { - console.info("Cancel callback: " + JSON.stringify(data)); +function onDisconnectCallback() { + console.info("subscribe disconnect"); } let subscriber = { onDisconnect: onDisconnectCallback @@ -226,7 +226,7 @@ unsubscribe(subscriber: NotificationSubscriber): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ---------- | ---------------------- | ---- | ------------ | -| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是 | 通知订阅对象。 | +| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是 | 通知订阅对象。 | **错误码:** @@ -241,8 +241,8 @@ unsubscribe(subscriber: NotificationSubscriber): Promise\ **示例:** ```js -function onDisconnectCallback(data) { - console.info("Cancel callback: " + JSON.stringify(data)); +function onDisconnectCallback() { + console.info("subscribe disconnect"); } let subscriber = { onDisconnect: onDisconnectCallback @@ -268,8 +268,8 @@ remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveRea | 参数名 | 类型 | 必填 | 说明 | | --------------- | ----------------------------------| ---- | -------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | -| notificationKey | [NotificationKey](#notificationkey) | 是 | 通知键值。 | +| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | +| notificationKey | [NotificationKey](js-apis-notification.md#notificationkey) | 是 | 通知键值。 | | reason | [RemoveReason](#removereason) | 是 | 通知删除原因。 | | callback | AsyncCallback\ | 是 | 删除指定通知回调函数。 | @@ -324,8 +324,8 @@ remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveRea | 参数名 | 类型 | 必填 | 说明 | | --------------- | --------------- | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | -| notificationKey | [NotificationKey](#notificationkey) | 是 | 通知键值。 | +| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 | +| notificationKey | [NotificationKey]((js-apis-notification.md#notificationkey)) | 是 | 通知键值。 | | reason | [RemoveReason](#removereason) | 是 | 通知删除原因。 | **错误码:** @@ -372,7 +372,7 @@ remove(hashCode: string, reason: RemoveReason, callback: AsyncCallback\): | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | -------------------- | -| hashCode | string | 是 | 通知唯一ID。可以通过[onConsume](#onconsume)回调的入参[SubscribeCallbackData](#subscribecallbackdata)获取其内部[NotificationRequest](#notificationrequest)对象中的hashCode。 | +| hashCode | string | 是 | 通知唯一ID。可以通过[onConsume](#onconsume)回调的入参[SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata)获取其内部[NotificationRequest](#notificationrequest)对象中的hashCode。 | | reason | [RemoveReason](#removereason) | 是 | 通知删除原因。 | | callback | AsyncCallback\ | 是 | 删除指定通知回调函数。 | @@ -459,7 +459,7 @@ removeAll(bundle: BundleOption, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------- | ---- | ---------------------------- | -| bundle | [BundleOption](#bundleoption) | 是 | 指定应用的包信息。 | +| bundle | [BundleOption]((js-apis-inner-notification-notificationCommonDef.md#bundleoption)) | 是 | 指定应用的包信息。 | | callback | AsyncCallback\ | 是 | 删除指定应用的所有通知回调函数。 | **错误码:** @@ -547,7 +547,7 @@ removeAll(bundle?: BundleOption): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------ | ---- | ---------- | -| bundle | [BundleOption](#bundleoption) | 否 | 指定应用的包信息。 | +| bundle | [BundleOption]((js-apis-inner-notification-notificationCommonDef.md#bundleoption)) | 否 | 指定应用的包信息。 | **错误码:** @@ -668,7 +668,7 @@ notificationSubscribe.removeAll(userId, removeAllCallback); ### onConsume -onConsume?: (data: [SubscribeCallbackData](#subscribecallbackdata)) => void +onConsume?: (data: [SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata)) => void 接收到新通知的回调函数。 @@ -680,7 +680,7 @@ onConsume?: (data: [SubscribeCallbackData](#subscribecallbackdata)) => void | 参数名 | 类型 | 必填 | 说明 | | ------------ | ------------------------ | ---- | -------------------------- | -| data | [SubscribeCallbackData](#subscribecallbackdata) | 是 | 新接收到的通知信息。 | +| data | [SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata) | 是 | 新接收到的通知信息。 | **示例:** @@ -708,7 +708,7 @@ notificationSubscribe.subscribe(subscriber, subscribeCallback); ### onCancel -onCancel?:(data: [SubscribeCallbackData](#subscribecallbackdata)) => void +onCancel?:(data: [SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata)) => void 取消通知的回调函数。 @@ -720,7 +720,7 @@ onCancel?:(data: [SubscribeCallbackData](#subscribecallbackdata)) => void | 参数名 | 类型 | 必填 | 说明 | | ------------ | ------------------------ | ---- | -------------------------- | -| data | [SubscribeCallbackData](#subscribecallbackdata) | 是 | 需要取消的通知信息。 | +| data | [SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata) | 是 | 需要取消的通知信息。 | **示例:** @@ -748,7 +748,7 @@ notificationSubscribe.subscribe(subscriber, subscribeCallback); ### onUpdate -onUpdate?:(data: [NotificationSortingMap](#notificationsortingmap)) => void +onUpdate?:(data: [NotificationSortingMap](js-apis-notification.md#notificationsortingmap)) => void 更新通知排序的回调函数。 @@ -760,7 +760,7 @@ onUpdate?:(data: [NotificationSortingMap](#notificationsortingmap)) => void | 参数名 | 类型 | 必填 | 说明 | | ------------ | ------------------------ | ---- | -------------------------- | -| data | [NotificationSortingMap](#notificationsortingmap) | 是 | 最新的通知排序列表。 | +| data | [NotificationSortingMap](js-apis-notification.md#notificationsortingmap)) | 是 | 最新的通知排序列表。 | **示例:** @@ -935,7 +935,7 @@ notificationSubscribe.subscribe(subscriber, subscribeCallback); ### onEnabledNotificationChanged -onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](#enablednotificationcallbackdata)) => void +onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](js-apis-notification.md#enablednotificationcallbackdata)) => void 监听应用通知使能变化。 @@ -947,7 +947,7 @@ onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](# | 参数名 | 类型 | 必填 | 说明 | | ------------ | ------------------------ | ---- | -------------------------- | -| callback | AsyncCallback\<[EnabledNotificationCallbackData](#enablednotificationcallbackdata)\> | 是 | 回调返回监听到的应用信息。 | +| callback | AsyncCallback\<[EnabledNotificationCallbackData](js-apis-notification.md#enablednotificationcallbackdata)\> | 是 | 回调返回监听到的应用信息。 | **示例:** @@ -1013,104 +1013,6 @@ let subscriber = { notificationSubscribe.subscribe(subscriber, subscribeCallback); ``` -## BundleOption - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------ | ------ |---- | --- | ------ | -| bundle | string | 是 | 是 | 应用的包信息。 | -| uid | number | 是 | 是 | 用户ID。 | - -## NotificationKey - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----- | ------ | ---- | --- | -------- | -| id | number | 是 | 是 | 通知ID。 | -| label | string | 是 | 是 | 通知标签。 | - -## SubscribeCallbackData - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统API**:此接口为系统接口,三方应用不支持调用。 - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| --------------- | ------------------------------------------------- | -------- | -------- | -------- | -| request | [NotificationRequest](js-apis-notificationManager.md#notificationrequest) | 是 | 否 | 通知内容。 | -| sortingMap | [NotificationSortingMap](#notificationsortingmap) | 是 | 否 | 排序信息。 | -| reason | number | 是 | 否 | 删除原因。 | -| sound | string | 是 | 否 | 通知声音。 | -| vibrationValues | Array\ | 是 | 否 | 通知震动。 | - - -## EnabledNotificationCallbackData - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统API**:此接口为系统接口,三方应用不支持调用。 - -| 名称 | 类型 | 可读 | 可写 | 描述 | -| ------ | ------- | ---------------- | ---------------- | ---------------- | -| bundle | string | 是 | 否 | 应用的包名。 | -| uid | number | 是 | 否 | 应用的uid。 | -| enable | boolean | 是 | 否 | 应用通知使能状态。 | - - -## NotificationSorting - -提供有关活动通知的排序信息。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统API**: 此接口为系统接口,三方应用不支持调用。 - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | ------------------------------------- | ---- | --- | ------------ | -| slot | [NotificationSlot](js-apis-notificationManager.md#notificationslot) | 是 | 否 | 通知通道内容。 | -| hashCode | string | 是 | 否 | 通知唯一标识。 | -| ranking | number | 是 | 否 | 通知排序序号。 | - - -## NotificationSortingMap - -提供关于已订阅的所有通知中活动通知的排序信息 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统API**:此接口为系统接口,三方应用不支持调用。 - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------------- | ------------------------------------------------------------ | ---- | --- | ---------------- | -| sortings | {[key: string]: [NotificationSorting](#notificationsorting)} | 是 | 否 | 通知排序信息数组。 | -| sortedHashCode | Array\ | 是 | 否 | 通知唯一标识数组。 | - - -## NotificationSubscribeInfo - -设置订阅所需通知的发布者的信息。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification - -**系统API**: 此接口为系统接口,三方应用不支持调用。 - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | --------------- | --- | ---- | ------------------------------- | -| bundleNames | Array\ | 是 | 是 | 指定订阅哪些包名的APP发来的通知。 | -| userId | number | 是 | 是 | 指定订阅哪个用户下发来的通知。 | - - -## NotificationUserInput - -保存用户输入的通知消息。 - -**系统能力**:SystemCapability.Notification.Notification - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | ------ | --- | ---- | ----------------------------- | -| inputKey | string | 是 | 是 | 用户输入时用于标识此输入的key。 | ## RemoveReason diff --git a/zh-cn/application-dev/reference/apis/js-apis-observer.md b/zh-cn/application-dev/reference/apis/js-apis-observer.md index f3d1b051fc1eab8f70b8af83f950ae70427582ec..8b23da338f7fb972b3d167bd35adc2917999a4a7 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-observer.md +++ b/zh-cn/application-dev/reference/apis/js-apis-observer.md @@ -10,7 +10,7 @@ ## 导入模块 ``` -import observer from '@ohos.telephony.observer' +import observer from '@ohos.telephony.observer'; ``` ## observer.on('networkStateChange') @@ -44,7 +44,7 @@ on\(type: \'networkStateChange\', callback: Callback\): void; **示例:** ```js -observer.on('networkStateChange', data =>{ +observer.on('networkStateChange', data => { console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` @@ -82,7 +82,7 @@ on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callbac **示例:** ```js -observer.on('networkStateChange', {slotId: 0}, data =>{ +observer.on('networkStateChange', {slotId: 0}, data => { console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` @@ -156,7 +156,7 @@ on\(type: \'signalInfoChange\', callback: Callback\>): **示例:** ```js -observer.on('signalInfoChange', data =>{ +observer.on('signalInfoChange', data => { console.log("on signalInfoChange, data:" + JSON.stringify(data)); }); ``` @@ -192,7 +192,7 @@ on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback< **示例:** ```js -observer.on('signalInfoChange', {slotId: 0}, data =>{ +observer.on('signalInfoChange', {slotId: 0}, data => { console.log("on signalInfoChange, data:" + JSON.stringify(data)); }); ``` @@ -268,7 +268,7 @@ on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: stri **示例:** ```js -observer.on('callStateChange', value =>{ +observer.on('callStateChange', value => { console.log("on callStateChange, state:" + value.state + ", number:" + value.number); }); ``` @@ -303,7 +303,7 @@ on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ st **示例:** ```js -observer.on('callStateChange', {slotId: 0}, value =>{ +observer.on('callStateChange', {slotId: 0}, value => { console.log("on callStateChange, state:" + value.state + ", number:" + value.number); }); ``` @@ -379,7 +379,7 @@ on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: Data **示例:** ```js -observer.on('cellularDataConnectionStateChange', value =>{ +observer.on('cellularDataConnectionStateChange', value => { console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); }); ``` @@ -414,7 +414,7 @@ on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, call **示例:** ```js -observer.on('cellularDataConnectionStateChange', {slotId: 0}, value =>{ +observer.on('cellularDataConnectionStateChange', {slotId: 0}, value => { console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); }); ``` @@ -490,7 +490,7 @@ on\(type: 'cellularDataFlowChange', callback: Callback\\): void; **示例:** ```js -observer.on('cellularDataFlowChange', data =>{ +observer.on('cellularDataFlowChange', data => { console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` @@ -525,7 +525,7 @@ on\(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Call **示例:** ```js -observer.on('cellularDataFlowChange', {slotId: 0}, data =>{ +observer.on('cellularDataFlowChange', {slotId: 0}, data => { console.log("on cellularDataFlowChange, data:" + JSON.stringify(data)); }); ``` @@ -601,7 +601,7 @@ on\(type: 'simStateChange', callback: Callback\\): void; **示例:** ```js -observer.on('simStateChange', data =>{ +observer.on('simStateChange', data => { console.log("on simStateChange, data:" + JSON.stringify(data)); }); ``` @@ -636,7 +636,7 @@ on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\{ +observer.on('simStateChange', {slotId: 0}, data => { console.log("on simStateChange, data:" + JSON.stringify(data)); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-osAccount.md b/zh-cn/application-dev/reference/apis/js-apis-osAccount.md index e2a3d4ccd66b3feb6572fcb77ffdad6a390cea9f..15b23ef4c26dc0081a1fba64e6a56badaca94de8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-osAccount.md +++ b/zh-cn/application-dev/reference/apis/js-apis-osAccount.md @@ -4433,15 +4433,26 @@ auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUs **示例:** ```js let plugin = { - auth: (domainInfo, credential, callback) => { + auth: (domainAccountInfo, credential, callback) => { // mock authentication - callback.onResult(0, {}); - } + // notify authentication result + callback.onResult(0, { + token: new Uint8Array([0]), + remainTimes: 5, + freezingTime: 0 + }); + }, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} } account_osAccount.DomainAccountManager.registerPlugin(plugin); let userAuth = new account_osAccount.UserAuth(); let challenge = new Uint8Array([0]); - let authType = account_osAccount.AuthType.PIN; + let authType = account_osAccount.AuthType.DOMAIN; let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1; try { userAuth.auth(challenge, authType, authTrustLevel, { @@ -4455,6 +4466,235 @@ auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUs } ``` +### authWithPopup10+ + +authWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void + +弹窗认证指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => { + // mock authentication + // notify authentication result + callback.onResult(0, { + token: new Uint8Array([0]), + remainTimes: 5, + freezingTime: 0 + }); + }, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + +### authWithToken10+ + +authWithToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: IUserAuthCallback): void + +使用授权令牌认证指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| token | Uint8Array | 是 | 指示PIN码或生物识别认证成功时生成的授权令牌。| +| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => { + // mock authentication + // notify authentication result + callback.onResult(0, { + token: new Uint8Array([0]), + remainTimes: 5, + freezingTime: 0 + }); + }, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + +### getAccountInfo10+ + +getAccountInfo(domain: string, accountName: string, callback: AsyncCallback<DomainAccountInfo>): void + +查询指定域帐号的信息。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domain | string | 是 | 指示帐号所属域。| +| accountName | string | 是 | 指示帐号的名称。| +| callback | AsyncCallback<[DomainAccountInfo](#domainaccountinfo8)> | 是 | 指示查询结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => { + // mock getting account information + // notify result + callback({ + code: 0 + }, { + domain: domain, + accountName: accountName, + accountId: "xxxx" + }) + }, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + +### getAuthStatusInfo10+ + +getAuthStatusInfo(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<AuthStatusInfo>): void + +查询指定域帐号的认证状态信息。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| callback | AsyncCallback<[AuthStatusInfo](#authstatusinfo10)> | 是 | 指示查询结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => { + callback({ + code: 0 + }, { + remainTimes: 5, + freezingTime: 0 + }) + }, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + +### bindAccount10+ + +bindAccount(domainAccountInfo: DomainAccountInfo, localId: number, callback: AsyncCallback<void>): void + +绑定指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| callback | AsyncCallback<void> | 是 | 指示绑定结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => { + // mock unbinding operation + // notify binding result + callback({code: 0}) + }, + unbindAccount: (domainAccountInfo, callback) => {} + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + +### unbindAccount10+ + +unbindAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<void>): void + +解绑指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| callback | AsyncCallback<void> | 是 | 指示绑定结果回调。| + +**示例:** + ```js + let plugin = { + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => { + // mock unbinding operation + // notify unbinding result + callback({code: 0}) + } + } + account_osAccount.DomainAccountManager.registerPlugin(plugin) + ``` + ## DomainAccountManager 9+ 域帐号管理器类。 @@ -4480,15 +4720,18 @@ static registerPlugin(plugin: DomainPlugin): void | 错误码ID | 错误信息 | | -------- | --------------------------- | -| 12300201 | The domain plugin has been registered. | +| 12300201 | the domain plugin has been registered. | **示例:** ```js let plugin = { - auth: (domainInfo, credential, callback) => { - // mock authentication - callback.onResult(0, {}); - } + auth: (domainAccountInfo, credential, callback) => {}, + authWithPopup: (domainAccountInfo, callback) => {}, + authWithToken: (domainAccountInfo, callback) => {}, + getAccountInfo: (domain, accountName, callback) => {}, + getAuthStatusInfo: (domainAccountInfo, callback) => {}, + bindAccount: (domainAccountInfo, localId, callback) => {}, + unbindAccount: (domainAccountInfo, callback) => {} } try { account_osAccount.DomainAccountManager.registerPlugin(plugin); @@ -4520,6 +4763,252 @@ static unregisterPlugin(): void } ``` +### auth10+ + +auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void + +认证指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| credential | Uint8Array | 是 | 指示域帐号的凭据。| +| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | --------------------------- | +| 12300001 | system service exception. | +| 12300002 | invalid domainAccountInfo or credential. | +| 12300003 | domain account does not exist. | +| 12300013 | network exception. | +| 12300101 | authentication failed. | +| 12300109 | authentication is canceled. | +| 12300110 | authentication is locked. | +| 12300111 | authentication timeout. | +| 12300112 | authentication service is busy. | +| 12300113 | authentication service does not exist. | +| 12300114 | authentication service exception. | + +**示例:** + ```js + let domainAccountInfo = { + domain: "CHINA", + accountName: "zhangsan" + } + let credential = new Uint8Array([0]) + try { + account_osAccount.DomainAccountManager.auth(domainAccountInfo, credential, { + onResult: (resultCode, authResult) => { + console.log('auth resultCode = ' + resultCode); + console.log('auth authResult = ' + JSON.stringify(authResult)); + } + }); + } catch (err) { + console.log('auth exception = ' + JSON.stringify(err)); + } + ``` + +### authWithPopup10+ + +authWithPopup(callback: IUserAuthCallback): void + +弹框认证指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | --------------------------- | +| 12300001 | system service exception. | +| 12300003 | no domain account is bound. | +| 12300013 | network exception. | +| 12300101 | authentication failed. | +| 12300109 | authentication is canceled. | +| 12300110 | authentication is locked. | +| 12300111 | authentication timeout. | +| 12300112 | authentication service is busy. | +| 12300113 | authentication service does not exist. | +| 12300114 | authentication service exception. | + +**示例:** + ```js + try { + account_osAccount.DomainAccountManager.authWithPopup({ + onResult: (resultCode, authResult) => { + console.log('auth resultCode = ' + resultCode); + console.log('auth authResult = ' + JSON.stringify(authResult)); + } + }) + } catch (err) { + console.log('auth exception = ' + JSON.stringify(err)); + } + ``` + +### authWithPopup10+ + +authWithPopup(localId: number, callback: IUserAuthCallback): void + +弹框认证指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| localId | number | 是 | 指示绑定域帐号的系统帐号的本地标识。| +| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | --------------------------- | +| 12300001 | system service exception. | +| 12300002 | invalid localId. | +| 12300003 | no domain account is bound. | +| 12300013 | network exception. | +| 12300101 | authentication failed. | +| 12300109 | authentication is canceled. | +| 12300110 | authentication is locked. | +| 12300111 | authentication timeout. | +| 12300112 | authentication service is busy. | +| 12300113 | authentication service does not exist. | +| 12300114 | authentication service exception. | + +**示例:** + ```js + try { + account_osAccount.DomainAccountManager.authWithPopup(100, { + onResult: (resultCode, authResult) => { + console.log('authWithPopup resultCode = ' + resultCode); + console.log('authWithPopup authResult = ' + JSON.stringify(authResult)); + } + }) + } catch (err) { + console.log('authWithPopup exception = ' + JSON.stringify(err)); + } + ``` + +### hasAccount10+ + +hasAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<boolean>): void + +检查是否存在指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| +| callback | AsyncCallback<boolean> | 是 | 指示检查结果回调。| + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | --------------------------- | +| 12300001 | system service exception. | +| 12300002 | invalid domainAccountInfo. | +| 12300013 | network exception. | + +**示例:** + ```js + let domainAccountInfo = { + domain: "CHINA", + accountName: "zhangsan" + } + try { + account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo, (err, result) => { + if (err) { + console.log("call hasAccount failed, error: " + JSON.stringify(err)); + } else { + console.log("hasAccount result: " + result); + } + }); + } catch (err) { + console.log('hasAccount exception = ' + JSON.stringify(err)); + } + ``` + +### hasAccount10+ + +hasAccount(domainAccountInfo: DomainAccountInfo): Promise<boolean> + +检查是否存在指定的域帐号。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Account.OsAccount + +**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | --------------------------------------- | ---- | --------------- | +| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域帐号信息。| + +**返回值:** + +| 类型 | 说明 | +| :------------------------ | ----------------------- | +| Promise<boolean> | Promise对象,返回指定的域帐号是否存在。 | + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | --------------------------- | +| 12300001 | system service exception. | +| 12300002 | invalid domainAccountInfo. | +| 12300013 | network exception. | + +**示例:** + ```js + let domainAccountInfo = { + domain: "CHINA", + accountName: "zhangsan" + } + try { + account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo).then((result) => { + console.log("hasAccount result: " + result); + }).catch((err) => { + console.log("call hasAccount failed, error: " + JSON.stringify(err)); + }); + } catch (err) { + console.log('hasAccount exception = ' + JSON.stringify(err)); + } + ``` + ## UserIdentityManager8+ 获取用户身份管理类。 @@ -5254,7 +5743,7 @@ onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void; | ------------ | ---------------------------------------- | ----- | ----------------- | | result | number | 是 | 指示结果。 | | authSubType | [AuthSubType](#authsubtype8) | 是 | 指示认证凭据子类型。| -| remainTimes | number | 否 | 指示剩余时间。 | +| remainTimes | number | 否 | 指示剩余次数。 | | freezingTime | number | 否 | 指示冻结时间。 | ## AuthResult8+ @@ -5268,7 +5757,7 @@ onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void; | 名称 | 类型 | 必填 | 说明 | | ------------ | ----------- | ----- | ----------------- | | token | Uint8Array | 否 | 指示认证令牌。 | -| remainTimes | number | 否 | 指示剩余时间。 | +| remainTimes | number | 否 | 指示剩余次数。 | | freezingTime | number | 否 | 指示冻结时间。 | ## CredentialInfo8+ @@ -5490,6 +5979,7 @@ onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void; | ----------- | ------ | ---- | ---------- | | domain | string | 是 | 域名。 | | accountName | string | 是 | 域帐号名。 | +| accountId10+ | string | 否 | 域帐号标识。 | ## 系统帐号约束列表 @@ -5585,4 +6075,17 @@ onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void; | CONSTRAINT_NOT_EXIST | 0 | 约束不存在 | | CONSTRAINT_TYPE_BASE | 1 | 约束源自系统设置 | | CONSTRAINT_TYPE_DEVICE_OWNER | 2 | 约束源自设备所有者设置 | -| CONSTRAINT_TYPE_PROFILE_OWNER | 3 | 约束源自资料所有者设置 | \ No newline at end of file +| CONSTRAINT_TYPE_PROFILE_OWNER | 3 | 约束源自资料所有者设置 | + +## AuthStatusInfo10+ + +表示认证状态信息。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。 + +| 名称 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | ---------- | +| remainTimes | number | 是 | 剩余次数 | +| freezingTime | number | 是 | 冻结时间 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-overlay.md b/zh-cn/application-dev/reference/apis/js-apis-overlay.md new file mode 100755 index 0000000000000000000000000000000000000000..0d14da22d3ec2677e626d7f086242ad5af5ca3d5 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-overlay.md @@ -0,0 +1,693 @@ +# @ohos.bundle.overlay (overlay模块) + +本模块提供[overlay特征应用](#overlay特征应用介绍)的安装,overlay特征应用的[OverlayModuleInfo](js-apis-bundleManager-overlayModuleInfo.md)信息的查询以及overlay特征应用的禁用使能的能力。 + +> **说明:** +> +> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +本模块接口为系统接口。 + +## 导入模块 + +``` ts +import overlay from '@ohos.bundle.overlay' +``` + +## overlay.setOverlayEnabled + +setOverlayEnabled(moduleName:string, isEnabled: boolean): Promise\; + +以异步方法设置当前应用中overlay特征module的禁用使能状态。使用Promise异步回调。成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象。无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature"; +var isEnabled = false; + +try { + overlay.setOverlayEnabled(moduleName, isEnabled) + .then(() => { + console.info('setOverlayEnabled success'); + }).catch((error) => { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + }); +} catch (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabled + +setOverlayEnabled(moduleName:string, isEnabled: boolean, callback: AsyncCallback\): void; + +以异步方法设置当前应用中overlay module的禁用使能状态。使用callback异步回调。成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。| +| callback | AsyncCallback\ | 是 | 回调函数,当设置处置状态成功,err为undefined,否则为错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature"; +var isEnabled = false; + +try { + overlay.setOverlayEnabled(moduleName, isEnabled, (error, data) => { + if (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + return; + } + console.info('setOverlayEnabled success'); + }); +} catch (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabledByBundleName + +setOverlayEnabledByBundleName(bundleName:string, moduleName:string, isEnabled: boolean): Promise\; + +以异步方法设置指定应用的overlay module的禁用使能状态。使用Promise异步回调,成功返回应用的处置状态,失败返回对应错误信息。 + +**需要权限:** ohos.permission.CHANGE_OVERLAY_ENABLED_STATE + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用的overlay module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象。无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found. | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" +var isEnabled = false; + +try { + overlay.setOverlayEnabledByBundleName(bundleName, moduleName, isEnabled) + .then((data) => { + console.info('setOverlayEnabledByBundleName successfully'); + }).catch((error) => { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + }); +} catch (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabledByBundleName + +setOverlayEnabledByBundleName(bundleName:string, moduleName:string, isEnabled: boolean, callback: AsyncCallback\): void; + +以异步方法设置指定应用的overlay module的禁用使能状态。使用callback异步回调,成功返回应用的处置状态,失败返回对应错误信息。 + +**需要权限:** ohos.permission.CHANGE_OVERLAY_ENABLED_STATE + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用的overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | +| callback | AsyncCallback\ | 是 | 回调函数。当获取应用的处置状态成功时,err为undefined,data为获取到的处置状态;否则为错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found. | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" +var isEnabled = false; + +try { + overlay.setOverlayEnabledByBundleName(bundleName, moduleName, isEnabled, (error, data) => { + if (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + return; + } + console.info('setOverlayEnabledByBundleName successfully'); + }); +} catch (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.getOverlayModuleInfo + +getOverlayModuleInfo(moduleName: string): Promise\; + +以异步方法获取当前应用中指定的module的overlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | ------------------------------------------ | +| moduleName | string | 是 | 指定当前应用中的overlay module的HAP名称。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfo = await overlay.getOverlayModuleInfo(moduleName); + console.log('overlayModuleInfo is ' + JSON.stringify(overlayModuleInfo)); + } catch(err) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getOverlayModuleInfo + +getOverlayModuleInfo(moduleName: string, callback: AsyncCallback\): void; + +以异步方法获取当前应用中指定的module的overlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | 指定当前应用中的overlay特征module的HAP名称。 | +| callback | AsyncCallback\ | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature" +try { + overlay.getOverlayModuleInfo(moduleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfos + +getTargetOverlayModuleInfos(targetModuleName: string): Promise\>; + +以异步方法获取指定的目标module的OverlayModuleInfo。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetModuleName | string | 是 | 指定当前应用中的目标module的HAP名称。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | + +**示例:** + +```ts +var targetModuleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getTargetOverlayModuleInfos(targetModuleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getTargetOverlayModuleInfos + +getTargetOverlayModuleInfos(targetModuleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定的目标module的OverlayModuleInfo。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetModuleName | string | 是 | 指定当前应用中的目标module的HAP名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | + +**示例:** + +```ts +var targetModuleName = "feature" +try { + overlay.getTargetOverlayModuleInfos(targetModuleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, moduleName?: string): Promise\>; + +以异步方法获取指定应用中指定module的OverlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的overlay module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module的OverlayModuleInfo信息。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getOverlayModuleInfoByBundleName(bundleName, moduleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, moduleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中指定module的OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用中的overlay module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module的OverlayModuleInfo信息。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +try { + overlay.getOverlayModuleInfoByBundleName(bundleName, moduleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中所有module的OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; + +try { + overlay.getOverlayModuleInfoByBundleName(bundleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, moduleName?: string): Promise\>; + +以异步方法获取指定应用中指定module关联的所有OverlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的目标module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module所关联的OverlayModuleInfo信息。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, moduleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, moduleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中指定module关联的所有OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的目标module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module所关联的OverlayModuleInfo信息。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +try { + overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, moduleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中所有module关联的所有OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; + +try { + overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay特征应用介绍 + +**概念** +overlay特征应用指的是应用中包含有overlay特征的module。该特征module一般是为设备上存在的非overlay特征的module提供额外的资源文件,以便于目标module在运行阶段可以使用这些额外的资源文件来展示不同的颜色,标签,主题等等。overlay特征仅适用与stage模型。 + +**如何识别overlay特征的module** +在IDE中创建应用工程时, module的配置文件module.json5中包含targetModuleName和targetPriority字段时,该module将会在安装阶段被识别为overlay特征的module。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md b/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md index 1eae91fc9ae92b7a9082ae4a66692a45a77ddf73..948eb9a341774b3d717489f6b80a0136966716b5 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md +++ b/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md @@ -14,7 +14,7 @@ | 名称 | 类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | permissions | Array<string> | 是 | 否 | 用户传入的权限。| -| authResults | Array<number> | 是 | 否 | 相应请求权限的结果:
-1表示权限已设置,无需弹窗,需要用户在"设置"中修改。
0表示无需任何操作。
1表示需要动态弹窗授权。
2表示请求无效,可能原因有:
-未在设置文件中声明目标权限;
-权限名非法;
-部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见[ohos.permission.LOCATION](../../security/permission-list.md#ohospermissionlocation)与[ohos.permission.APPROXIMATELY_LOCATION](../../security/permission-list.md#ohospermissionapproximately_location)| +| authResults | Array<number> | 是 | 否 | 相应请求权限的结果:
- -1:未授权,表示权限已设置,无需弹窗,需要用户在"设置"中修改。
- 0:已授权。
- 2:未授权,表示请求无效,可能原因有:
-未在设置文件中声明目标权限。
-权限名非法。
-部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见[ohos.permission.LOCATION](../../security/permission-list.md#ohospermissionlocation)与[ohos.permission.APPROXIMATELY_LOCATION](../../security/permission-list.md#ohospermissionapproximately_location) | ## 使用说明 diff --git a/zh-cn/application-dev/reference/apis/js-apis-privacyManager.md b/zh-cn/application-dev/reference/apis/js-apis-privacyManager.md index 04918ca06f0759a4033d73afcfb769861dcbecc5..af58a0309276ba7cb542caabba8f2b4b19d385d9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-privacyManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-privacyManager.md @@ -445,7 +445,7 @@ try { ## privacyManager.on -on(type: 'activeStateChange', permissionNameList: Array<Permissions>, callback: Callback<ActiveChangeResponse>): void +on(type: 'activeStateChange', permissionList: Array<Permissions>, callback: Callback<ActiveChangeResponse>): void 订阅指定权限列表的权限使用状态变更事件。 @@ -458,7 +458,7 @@ on(type: 'activeStateChange', permissionNameList: Array<Permissions>, call | 参数名 | 类型 | 必填 | 说明 | | ------------------ | --------------------- | ---- | ------------------------------------------------------------ | | type | string | 是 | 订阅事件类型,固定为'activeStateChange',权限使用状态变更事件。 | -| permissionNameList | Array<Permissions> | 是 | 订阅的权限名列表,为空时表示订阅所有的权限使用状态变化。 | +| permissionList | Array<Permissions> | 是 | 订阅的权限名列表,为空时表示订阅所有的权限使用状态变化。 | | callback | Callback<[ActiveChangeResponse](#activechangeresponse)> | 是 | 订阅指定权限使用状态变更事件的回调。 | **错误码:** @@ -478,9 +478,9 @@ on(type: 'activeStateChange', permissionNameList: Array<Permissions>, call ```js import privacyManager from '@ohos.privacyManager'; -let permissionNameList = []; +let permissionList = []; try { - privacyManager.on('activeStateChange', permissionNameList, (data) => { + privacyManager.on('activeStateChange', permissionList, (data) => { console.debug("receive permission state change, data:" + JSON.stringify(data)); }); } catch(err) { @@ -490,7 +490,7 @@ try { ## privacyManager.off -off(type: 'activeStateChange', permissionNameList: Array<Permissions>, callback?: Callback<ActiveChangeResponse>): void; +off(type: 'activeStateChange', permissionList: Array<Permissions>, callback?: Callback<ActiveChangeResponse>): void; 取消订阅指定权限列表的权限使用状态变更事件。 @@ -503,7 +503,7 @@ off(type: 'activeStateChange', permissionNameList: Array<Permissions>, cal | 参数名 | 类型 | 必填 | 说明 | | ------------------ | --------------------- | ---- | ------------------------------------------------------------ | | type | string | 是 | 订阅事件类型,固定为'activeStateChange',权限使用状态变更事件。 | -| permissionNameList | Array<Permissions> | 是 | 订阅的权限名列表,为空时表示订阅所有的权限状态变化,必须与on的输入一致。 | +| permissionList | Array<Permissions> | 是 | 订阅的权限名列表,为空时表示订阅所有的权限状态变化,必须与on的输入一致。 | | callback | Callback<[ActiveChangeResponse](#activechangeresponse)> | 否 | 取消订阅指定tokenId与指定权限名状态变更事件的回调。| **错误码:** @@ -513,7 +513,7 @@ off(type: 'activeStateChange', permissionNameList: Array<Permissions>, cal | 错误码ID | 错误信息 | | -------- | -------- | | 12100001 | The parameter is invalid. The permissionName in list is all invalid or the list size is larger than 1024. | -| 12100004 | The interface is not used with | +| 12100004 | The interface is not used together with "on"| | 12100007 | Service is abnormal. | | 12100008 | Out of memory. | @@ -522,9 +522,9 @@ off(type: 'activeStateChange', permissionNameList: Array<Permissions>, cal ```js import privacyManager from '@ohos.privacyManager'; -let permissionNameList = []; +let permissionList = []; try { - privacyManager.off('activeStateChange', permissionNameList); + privacyManager.off('activeStateChange', permissionList); }catch(err) { console.log(`catch err->${JSON.stringify(err)}`); } diff --git a/zh-cn/application-dev/reference/apis/js-apis-prompt.md b/zh-cn/application-dev/reference/apis/js-apis-prompt.md index ea3d513f6271e4d8f426ea22e83035b45e62527c..a41981e8e95b1459b63fce66d94482809b3e7280 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-prompt.md +++ b/zh-cn/application-dev/reference/apis/js-apis-prompt.md @@ -44,11 +44,11 @@ prompt.showToast({ **系统能力:** SystemCapability.ArkUI.ArkUI.Full。 -| 名称 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------- | ---- | ---------------------------------------- | -| message | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 是 | 显示的文本信息。 | -| duration | number | 否 | 默认值1500ms,取值区间:1500ms-10000ms。若小于1500ms则取默认值,若大于10000ms则取上限值10000ms。 | -| bottom | string\| number | 否 | 设置弹窗边框距离屏幕底部的位置,无上限值,默认单位vp。 | +| 名称 | 类型 | 必填 | 说明 | +| -------- | --------------- | ---- | ------------------------------------------------------------ | +| message | string | 是 | 显示的文本信息。 | +| duration | number | 否 | 默认值1500ms,取值区间:1500ms-10000ms。若小于1500ms则取默认值,若大于10000ms则取上限值10000ms。 | +| bottom | string\| number | 否 | 设置弹窗边框距离屏幕底部的位置,无上限值,默认单位vp。 | ## prompt.showDialog @@ -145,11 +145,11 @@ prompt.showDialog({ **系统能力:** SystemCapability.ArkUI.ArkUI.Full -| 名称 | 类型 | 必填 | 说明 | -| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| title | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 否 | 标题文本。 | -| message | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 否 | 内容文本。 | -| buttons | [[Button](#button),[Button](#button)?,[Button](#button)?] | 否 | 对话框中按钮的数组,结构为:{text:'button', color: '\#666666'},支持1-3个按钮。其中第一个为positiveButton;第二个为negativeButton;第三个为neutralButton。 | +| 名称 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| title | string | 否 | 标题文本。 | +| message | string | 否 | 内容文本。 | +| buttons | [[Button](#button),[Button](#button)?,[Button](#button)?] | 否 | 对话框中按钮的数组,结构为:{text:'button', color: '\#666666'},支持1-3个按钮。其中第一个为positiveButton;第二个为negativeButton;第三个为neutralButton。 | ## ShowDialogSuccessResponse @@ -256,7 +256,7 @@ prompt.showActionMenu({ | 名称 | 类型 | 必填 | 说明 | | ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| title | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 否 | 标题文本。 | +| title | string | 否 | 标题文本。 | | buttons | [[Button](#button),[Button](#button)?,[Button](#button)?,[Button](#button)?,[Button](#button)?,[Button](#button)?] | 是 | 菜单中菜单项按钮的数组,结构为:{text:'button', color: '\#666666'},支持1-6个按钮。大于6个按钮时弹窗不显示。 | ## ActionMenuSuccessResponse @@ -275,8 +275,8 @@ prompt.showActionMenu({ **系统能力:** SystemCapability.ArkUI.ArkUI.Full -| 名称 | 类型 | 必填 | 说明 | -| ----- | ---------------------------------------- | ---- | ------- | -| text | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 是 | 按钮文本内容。 | -| color | string\| [Resource](../arkui-ts/ts-types.md#resource)9+ | 是 | 按钮文本颜色。 | +| 名称 | 类型 | 必填 | 说明 | +| ----- | ------ | ---- | -------------- | +| text | string | 是 | 按钮文本内容。 | +| color | string | 是 | 按钮文本颜色。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-radio.md b/zh-cn/application-dev/reference/apis/js-apis-radio.md index e4b9820b11024bba97664856f3fa020da0af66a2..ec0296bfbad79b6e5e019770457001c916921d77 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-radio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-radio.md @@ -10,7 +10,7 @@ ## 导入模块 ``` -import radio from '@ohos.telephony.radio' +import radio from '@ohos.telephony.radio'; ``` ## radio.getRadioTech @@ -45,7 +45,7 @@ getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechno ```js let slotId = 0; -radio.getRadioTech(slotId, (err, data) =>{ +radio.getRadioTech(slotId, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` @@ -127,7 +127,7 @@ getNetworkState\(callback: AsyncCallback\): void **示例:** ```js -radio.getNetworkState((err, data) =>{ +radio.getNetworkState((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` @@ -831,7 +831,7 @@ setPrimarySlotId(slotId: number, callback: AsyncCallback): void 设置主卡所在卡槽的索引号。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -872,7 +872,7 @@ setPrimarySlotId\(slotId: number\): Promise\ 设置主卡所在卡槽的索引号。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -920,7 +920,7 @@ getIMEI(callback: AsyncCallback): void 获取设备的指定卡槽的IMEI。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -958,7 +958,7 @@ getIMEI(slotId: number, callback: AsyncCallback): void 获取设备的指定卡槽的IMEI。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -998,7 +998,7 @@ getIMEI(slotId?: number): Promise 获取设备的指定卡槽的IMEI。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1045,7 +1045,7 @@ getMEID(callback: AsyncCallback): void 获取设备的指定卡槽的MEID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1083,7 +1083,7 @@ getMEID(slotId: number, callback: AsyncCallback): void 获取设备的指定卡槽的MEID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1123,7 +1123,7 @@ getMEID(slotId?: number): Promise 获取设备的指定卡槽的MEID。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1170,7 +1170,7 @@ getUniqueDeviceId(callback: AsyncCallback): void 获取设备的指定卡槽的唯一设备ID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1208,7 +1208,7 @@ getUniqueDeviceId(slotId: number, callback: AsyncCallback): void 获取设备的指定卡槽的唯一设备ID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1248,7 +1248,7 @@ getUniqueDeviceId(slotId?: number): Promise 获取设备的指定卡槽的唯一设备ID。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1295,7 +1295,7 @@ sendUpdateCellLocationRequest\(callback: AsyncCallback\): void 发送更新小区位置请求。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION @@ -1332,7 +1332,7 @@ sendUpdateCellLocationRequest\(slotId: number, callback: AsyncCallback\): 发送更新小区位置请求。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION @@ -1371,7 +1371,7 @@ sendUpdateCellLocationRequest\(slotId?: number): Promise 发送更新小区位置请求。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION @@ -1418,7 +1418,7 @@ getCellInformation(callback: AsyncCallback>): void 获取小区信息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION @@ -1456,7 +1456,7 @@ getCellInformation(slotId: number, callback: AsyncCallback\> 获取小区信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION @@ -1543,7 +1543,7 @@ setNetworkSelectionMode\(options: NetworkSelectionModeOptions, callback: AsyncCa 设置网络选择模式。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1593,7 +1593,7 @@ setNetworkSelectionMode\(options: NetworkSelectionModeOptions\): Promise 设置网络选择模式。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1651,7 +1651,7 @@ getNetworkSearchInformation\(slotId: number, callback: AsyncCallback 获取网络搜索信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1735,7 +1735,7 @@ getNrOptionMode(callback: AsyncCallback): void 获取Nr选项模式 。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.CoreService @@ -1770,7 +1770,7 @@ getNrOptionMode(slotId: number, callback: AsyncCallback): void 获取Nr选项模式 。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.CoreService @@ -1807,7 +1807,7 @@ getNrOptionMode(slotId?: number): Promise 获取Nr选项模式 。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.CoreService @@ -1851,7 +1851,7 @@ turnOnRadio(callback: AsyncCallback): void 打开Radio。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1889,7 +1889,7 @@ turnOnRadio(slotId: number, callback: AsyncCallback): void 打开Radio。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1929,7 +1929,7 @@ turnOnRadio(slotId?: number): Promise 打开Radio。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1976,7 +1976,7 @@ turnOffRadio(callback: AsyncCallback): void 关闭Radio。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2014,7 +2014,7 @@ turnOffRadio(slotId: number, callback: AsyncCallback): void 关闭Radio。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2054,7 +2054,7 @@ turnOffRadio(slotId?: number): Promise 关闭Radio。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2101,7 +2101,7 @@ setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode, callback 设置首选网络。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2140,7 +2140,7 @@ setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise< 设置首选网络。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2187,7 +2187,7 @@ getPreferredNetwork\(slotId: number, callback: AsyncCallback 获取首选网络。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2271,7 +2271,7 @@ getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback 获取特定IMS服务类型的IMS注册状态信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2357,7 +2357,7 @@ on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: 订阅imsRegStateChange事件,使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2397,7 +2397,7 @@ off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback 取消订阅imsRegStateChange事件,使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2547,7 +2547,7 @@ radio.off('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => { 首选网络模式。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2592,7 +2592,7 @@ radio.off('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => { 小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2608,7 +2608,7 @@ radio.off('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => { CDMA小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2624,7 +2624,7 @@ CDMA小区信息。 GSM小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2641,7 +2641,7 @@ GSM小区信息。 LTE小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2660,7 +2660,7 @@ LTE小区信息。 NR小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2677,7 +2677,7 @@ NR小区信息。 TD-SCDMA小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2694,7 +2694,7 @@ TD-SCDMA小区信息。 WCDMA小区信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2711,7 +2711,7 @@ WCDMA小区信息。 NR的选择模式。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2726,7 +2726,7 @@ NR的选择模式。 网络搜索结果。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2739,7 +2739,7 @@ NR的选择模式。 网络信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2754,7 +2754,7 @@ NR的选择模式。 网络信息状态。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2769,7 +2769,7 @@ NR的选择模式。 网络选择模式选项。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2784,7 +2784,7 @@ NR的选择模式。 IMS注册状态。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2797,7 +2797,7 @@ IMS注册状态。 IMS注册技术。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2812,7 +2812,7 @@ IMS注册技术。 IMS注册信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 @@ -2825,7 +2825,7 @@ IMS注册信息。 IMS服务类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-router.md b/zh-cn/application-dev/reference/apis/js-apis-router.md index 307b3bd73a7b84c49a2f8cb3f19a2cb9b6829d2e..ca8ea3b810429de53b252355d378cd41d5c1db9c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-router.md +++ b/zh-cn/application-dev/reference/apis/js-apis-router.md @@ -362,7 +362,7 @@ replaceUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback< | 错误码ID | 错误信息 | | --------- | ------- | -| 100001 | if UI execution context not found, only throw in standard system. | +| 100001 | if can not get the delegate, only throw in standard system. | | 200002 | if the uri is not exist. | **示例:** @@ -597,7 +597,7 @@ export default { // 在detail页面中 export default { onInit() { - console.info('showData1:' + router.getParams()[data1]); + console.info('showData1:' + router.getParams()['data1']); } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-rpc.md b/zh-cn/application-dev/reference/apis/js-apis-rpc.md index 4a3af98149c6aef5924d47cb4c0ed1e3285b2086..edf7e7169821b9950ddd0f7cd28cd2e6df300c16 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-rpc.md +++ b/zh-cn/application-dev/reference/apis/js-apis-rpc.md @@ -5649,7 +5649,7 @@ asObject(): IRemoteObject return this; } } - let remoteObject = new TestAbility().asObject(); + let remoteObject = new TestAbility("testObject").asObject(); ``` **示例:** @@ -6058,7 +6058,7 @@ isObjectDead(): boolean **系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。 -| 名称 | 默认值 | 说明 | +| 名称 | 值 | 说明 | | --------------------- | ----------------------- | --------------------------------- | | PING_TRANSACTION | 1599098439 (0x5f504e47) | 内部指令码,用于测试IPC服务正常。 | | DUMP_TRANSACTION | 1598311760 (0x5f444d50) | 内部指令码,获取Binder内部状态。 | @@ -6974,7 +6974,7 @@ isObjectDead(): boolean **系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。 - | 名称 | 默认值 | 说明 | + | 名称 | 值 | 说明 | | ------------- | ---- | ----------------------------------------------------------- | | TF_SYNC | 0 | 同步调用标识。 | | TF_ASYNC | 1 | 异步调用标识。 | @@ -8259,13 +8259,13 @@ getDescriptor(): string } } let testRemoteObject = new TestRemoteObject("testObject"); + console.log("RpcServer: descriptor is: " + descriptor); try { let descriptor = testRemoteObject.getDescriptor(); } catch(error) { console.info("rpc get local interface fail, errorCode " + error.code); console.info("rpc get local interface fail, errorMessage " + error.message); } - console.log("RpcServer: descriptor is: " + descriptor); ``` ### getInterfaceDescriptor(deprecated) @@ -8340,8 +8340,8 @@ modifyLocalInterface(localInterface: IRemoteBroker, descriptor: string): void try { this.modifyLocalInterface(this, descriptor); } catch(error) { - console.info(rpc attach local interface fail, errorCode " + error.code); - console.info(rpc attach local interface fail, errorMessage " + error.message); + console.info(" rpc attach local interface fail, errorCode " + error.code); + console.info(" rpc attach local interface fail, errorMessage " + error.message); } } registerDeathRecipient(recipient: MyDeathRecipient, flags: number) { @@ -8414,7 +8414,7 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void 映射内存保护类型: - | 名称 | 默认值 | 说明 | + | 名称 | 值 | 说明 | | ---------- | --- | ------------------ | | PROT_EXEC | 4 | 映射的内存可执行 | | PROT_NONE | 0 | 映射的内存不可访问 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md b/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md index 5bbab366210ab5c920f97732f24d33e47f037468..d12b55e3cd0df37aee7edd2a387d0a42167bdc31 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md +++ b/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md @@ -12,12 +12,14 @@ import screenlock from '@ohos.screenLock'; ``` -## EventType +## EventType9+ 定义系统事件类型。 **系统能力:** SystemCapability.MiscServices.ScreenLock +**系统接口**:此接口为系统接口。 + | 事件类型 | 说明 | | ------------------ | ------------------------ | | beginWakeUp | 表示设备开始唤醒。 | @@ -35,15 +37,17 @@ import screenlock from '@ohos.screenLock'; | screenlockEnabled | 表示锁屏是否启用。 | | serviceRestart | 表示锁屏服务进行重启。 | -## SystemEvent +## SystemEvent9+ 定义系统事件回调参数结构。 **系统能力:** SystemCapability.MiscServices.ScreenLock +**系统接口**:此接口为系统接口。 + | 名称 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ------------- | -| eventType | [EventType](#eventtype) | 是 | 系统事件类型。 | +| eventType | [EventType](#eventtype9) | 是 | 系统事件类型。 | | params | string | 是 | 系统事件参数。 | ## screenlock.isLocked9+ @@ -236,7 +240,7 @@ onSystemEvent(callback: Callback<SystemEvent>): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----------------- | -| callback | Callback\<[SystemEvent](#systemevent)> | 是 | 锁屏相关的系统事件回调函数。 | +| callback | Callback\<[SystemEvent](#systemevent9)> | 是 | 锁屏相关的系统事件回调函数。 | **返回值:** @@ -266,7 +270,7 @@ try { ## screenlock.sendScreenLockEvent9+ -sendScreenLockEvent(event: string, parameter: number, callback: AsyncCallback<boolean>): void +sendScreenLockEvent(event: String, parameter: number, callback: AsyncCallback<boolean>): void 应用发送事件到锁屏服务。使用callback异步回调。 @@ -278,7 +282,7 @@ sendScreenLockEvent(event: string, parameter: number, callback: AsyncCallback< | 参数名 | 类型 | 必填 | 说明 | | --------- | ------------------------ | ---- | -------------------- | -| event | string | 是 | 事件类型,支持如下取值:
- "unlockScreenResult",表示解锁结果。
- "lockScreenResult",表示锁屏结果。
- "screenDrawDone",表示屏幕绘制完成。 | +| event | String | 是 | 事件类型,支持如下取值:
- "unlockScreenResult",表示解锁结果。
- "lockScreenResult",表示锁屏结果。
- "screenDrawDone",表示屏幕绘制完成。 | | parameter | number | 是 | 事件结果。
- parameter为0,表示成功。例如解锁成功或锁屏成功。
- parameter为1,表示失败。例如解锁失败或锁屏失败。
- parameter为2,表示取消。例如锁屏取消或解锁取消。 | | callback | AsyncCallback\ | 是 | 回调函数。返回true表示发送事件成功;返回false表示发送事件失败。 | @@ -304,7 +308,7 @@ screenlock.sendScreenLockEvent('unlockScreenResult', 0, (err, result) => { ## screenlock.sendScreenLockEvent9+ -sendScreenLockEvent(event: string, parameter: number): Promise<boolean> +sendScreenLockEvent(event: String, parameter: number): Promise<boolean> 应用发送事件到锁屏服务。使用Promise异步回调。 @@ -316,7 +320,7 @@ sendScreenLockEvent(event: string, parameter: number): Promise<boolean> | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | --------------------------------------- | -| event | string | 是 | 事件类型,支持如下取值:
- "unlockScreenResult",表示解锁结果。
- "lockScreenResult",表示锁屏结果。
- "screenDrawDone",表示屏幕绘制完成。 | +| event | String | 是 | 事件类型,支持如下取值:
- "unlockScreenResult",表示解锁结果。
- "lockScreenResult",表示锁屏结果。
- "screenDrawDone",表示屏幕绘制完成。 | | parameter | number | 是 | 事件结果。
- parameter为0,表示成功。例如解锁成功或锁屏成功。
- parameter为1,表示失败。例如解锁失败或锁屏失败。
- parameter为2,表示取消。例如锁屏取消或解锁取消。 | **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-sim.md b/zh-cn/application-dev/reference/apis/js-apis-sim.md index 2b2def039972e6044e70c0b7afed2fae469204a5..77bc105bcc89692bf816ea960a318f42e4ab31ad 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-sim.md +++ b/zh-cn/application-dev/reference/apis/js-apis-sim.md @@ -665,7 +665,7 @@ getSimAccountInfo(slotId: number, callback: AsyncCallback): voi 获取SIM卡账户信息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -706,7 +706,7 @@ getSimAccountInfo(slotId: number): Promise 获取SIM卡账户信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -754,7 +754,7 @@ getActiveSimAccountInfoList(callback: AsyncCallback>): vo 获取活跃SIM卡账户信息列表。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -793,7 +793,7 @@ getActiveSimAccountInfoList(): Promise>; 获取活跃SIM卡账户信息列表。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -834,7 +834,7 @@ setDefaultVoiceSlotId(slotId: number, callback: AsyncCallback): void 设置默认语音业务的卡槽ID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -875,7 +875,7 @@ setDefaultVoiceSlotId(slotId: number): Promise\ 设置默认语音业务的卡槽ID。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -923,7 +923,7 @@ setShowName\(slotId: number, name: string, callback: AsyncCallback\): voi 设置指定卡槽SIM卡显示的名称。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -964,7 +964,7 @@ setShowName\(slotId: number, name: string\): Promise\ 设置指定卡槽SIM卡显示的名称。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1013,7 +1013,7 @@ getShowName(slotId: number, callback: AsyncCallback): void 获取指定卡槽SIM卡的名称。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1053,7 +1053,7 @@ getShowName(slotId: number): Promise 获取指定卡槽SIM卡的名称。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1100,7 +1100,7 @@ setShowNumber\(slotId: number, number: string, callback: AsyncCallback\): 设置指定卡槽SIM卡的号码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1142,7 +1142,7 @@ setShowNumber\(slotId: number, number: string\): Promise\ 设置指定卡槽SIM卡的号码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1191,7 +1191,7 @@ getShowNumber(slotId: number, callback: AsyncCallback): void 获取指定卡槽SIM卡的号码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1231,7 +1231,7 @@ getShowNumber(slotId: number): Promise 获取指定卡槽SIM卡的号码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1278,7 +1278,7 @@ activateSim(slotId: number, callback: AsyncCallback): void 激活指定卡槽SIM卡。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1318,7 +1318,7 @@ activateSim(slotId: number): Promise\ 激活指定卡槽SIM卡。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1365,7 +1365,7 @@ deactivateSim(slotId: number, callback: AsyncCallback): void 禁用指定卡槽SIM卡。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1405,7 +1405,7 @@ deactivateSim(slotId: number): Promise\ 禁用指定卡槽SIM卡。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1452,7 +1452,7 @@ setLockState(slotId: number, options: LockInfo, callback: AsyncCallback 设置指定卡槽SIM卡的锁状态。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1553,7 +1553,7 @@ getLockState(slotId: number, lockType: LockType, callback: AsyncCallback 获取指定卡槽SIM卡的锁状态。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -1644,7 +1644,7 @@ alterPin(slotId: number, newPin: string, oldPin: string, callback: AsyncCallback 更改Pin密码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1687,7 +1687,7 @@ alterPin(slotId: number, newPin: string, oldPin: string): Promise 解锁指定卡槽SIM卡密码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -1923,7 +1923,7 @@ unlockPuk(slotId: number, newPin: string, puk: string, callback: AsyncCallback 解锁指定卡槽SIM卡密码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2113,7 +2113,7 @@ unlockPuk2(slotId: number, newPin2: string, puk2: string, callback: AsyncCallbac 解锁指定卡槽SIM卡密码的解锁密码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2158,7 +2158,7 @@ unlockPuk2(slotId: number, newPin2: string, puk2: string): Promise<LockStatus 解锁指定卡槽SIM卡密码的解锁密码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2230,7 +2230,7 @@ getSimIccId(slotId: number, callback: AsyncCallback): void 获取指定卡槽SIM卡的ICCID。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2270,7 +2270,7 @@ getSimIccId(slotId: number): Promise 获取指定卡槽SIM卡的ICCID。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2317,7 +2317,7 @@ getVoiceMailIdentifier(slotId: number, callback: AsyncCallback): void 获取指定卡槽中SIM卡语音信箱的alpha标识符。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2357,7 +2357,7 @@ getVoiceMailIdentifier(slotId: number): Promise 获取指定卡槽中SIM卡语音信箱的alpha标识符。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2404,7 +2404,7 @@ getVoiceMailNumber(slotId: number, callback: AsyncCallback): void 获取指定卡槽中SIM卡的语音信箱号。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2444,7 +2444,7 @@ getVoiceMailNumber(slotId: number): Promise 获取指定卡槽中SIM卡的语音信箱号。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2492,7 +2492,7 @@ setVoiceMailInfo(slotId: number, mailName: string, mailNumber: string, callback: 设置语音邮件信息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2535,7 +2535,7 @@ setVoiceMailInfo(slotId: number, mailName: string, mailNumber: string): Promise< 设置语音邮件信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -2585,7 +2585,7 @@ getSimTelephoneNumber(slotId: number, callback: AsyncCallback): void 获取指定卡槽中SIM卡的MSISDN。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2625,7 +2625,7 @@ getSimTelephoneNumber(slotId: number): Promise 获取指定卡槽中SIM卡的MSISDN。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2672,7 +2672,7 @@ getSimGid1(slotId: number, callback: AsyncCallback): void 获取指定卡槽中SIM卡的组标识符级别1(GID1)。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2712,7 +2712,7 @@ getSimGid1(slotId: number): Promise 获取指定卡槽中SIM卡的组标识符级别1(GID1)。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2759,7 +2759,7 @@ getIMSI(slotId: number, callback: AsyncCallback): void 获取国际移动用户识别码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2799,7 +2799,7 @@ getIMSI(slotId: number): Promise 获取国际移动用户识别码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2846,7 +2846,7 @@ getOperatorConfigs(slotId: number, callback: AsyncCallback> 获取运营商配置。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE @@ -2933,7 +2933,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType, callback: AsyncCallba 查询SIM卡联系人号码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.READ_CONTACTS @@ -2975,7 +2975,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType): Promise): vo 发送信封命令。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -3374,7 +3374,7 @@ sendEnvelopeCmd(slotId: number, cmd: string): Promise 发送信封命令。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -3422,7 +3422,7 @@ sendTerminalResponseCmd(slotId: number, cmd: string, callback: AsyncCallback 发送终端响应命令。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -3512,7 +3512,7 @@ unlockSimLock(slotId: number, lockInfo: PersoLockInfo, callback: AsyncCallback\): 设置短信服务中心(SMSC)地址。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 @@ -293,7 +293,7 @@ setSmscAddr\(slotId: number, smscAddr: string\): Promise\ 设置短信服务中心(SMSC)地址。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE,该权限为系统权限 @@ -343,7 +343,7 @@ getSmscAddr\(slotId: number, callback: AsyncCallback\): void 获取短信服务中心(SMSC)地址。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 @@ -383,7 +383,7 @@ getSmscAddr\(slotId: number\): Promise 获取短信服务中心(SMSC)地址。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE,该权限为系统权限 @@ -449,7 +449,7 @@ splitMessage(content: string, callback: AsyncCallback>): void 将长短信拆分为多个片段。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SEND_MESSAGES @@ -489,7 +489,7 @@ splitMessage(content: string): Promise> 将长短信拆分为多个片段。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SEND_MESSAGES @@ -536,7 +536,7 @@ addSimMessage(options: SimMessageOptions, callback: AsyncCallback): void 添加SIM卡消息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES @@ -581,7 +581,7 @@ addSimMessage(options: SimMessageOptions): Promise 添加SIM卡消息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES @@ -633,7 +633,7 @@ delSimMessage(slotId: number, msgIndex: number, callback: AsyncCallback): 删除SIM卡消息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES @@ -675,7 +675,7 @@ delSimMessage(slotId: number, msgIndex: number): Promise 删除SIM卡信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES @@ -724,7 +724,7 @@ updateSimMessage(options: UpdateSimMessageOptions, callback: AsyncCallback 更新SIM卡消息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS,ohos.permission.SEND_MESSAGES @@ -823,7 +823,7 @@ getAllSimMessages(slotId: number, callback: AsyncCallback> 获取所有SIM卡消息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS @@ -910,7 +910,7 @@ setCBConfig(options: CBConfigOptions, callback: AsyncCallback): void 设置小区广播配置。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS @@ -956,7 +956,7 @@ setCBConfig(options: CBConfigOptions): Promise 设置小区广播配置。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.RECEIVE_SMS @@ -1009,7 +1009,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean, callback 获取短信段信息。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1048,7 +1048,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean): Promise 获取短信段信息。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1094,7 +1094,7 @@ isImsSmsSupported(slotId: number, callback: AsyncCallback): void 如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1131,7 +1131,7 @@ isImsSmsSupported(slotId: number): Promise 如果IMS已注册并且在IMS上支持SMS,则支持通过IMS发送SMS。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1175,7 +1175,7 @@ getImsShortMessageFormat(callback: AsyncCallback): void 获取IMS上支持的SMS格式。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1211,7 +1211,7 @@ getImsShortMessageFormat(): Promise 获取IMS上支持的SMS格式。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1249,7 +1249,7 @@ decodeMms(mmsFilePathName: string | Array, callback: AsyncCallback): Promise 彩信解码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1330,7 +1330,7 @@ encodeMms(mms: MmsInformation, callback: AsyncCallback>): void 彩信编码。使用callback异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1375,7 +1375,7 @@ encodeMms(mms: MmsInformation): Promise> 彩信编码。使用Promise异步回调。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:SystemCapability.Telephony.SmsMms @@ -1515,7 +1515,7 @@ promise.then(data => { 彩信信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1529,7 +1529,7 @@ promise.then(data => { 彩信发送请求。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1555,7 +1555,7 @@ promise.then(data => { 彩信发送配置。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1570,7 +1570,7 @@ promise.then(data => { 彩信通知索引。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1591,7 +1591,7 @@ promise.then(data => { 彩信确认索引。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1605,7 +1605,7 @@ promise.then(data => { 彩信检索配置。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1630,7 +1630,7 @@ promise.then(data => { 彩信读取原始索引。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1647,7 +1647,7 @@ promise.then(data => { 彩信读取记录索引。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1664,7 +1664,7 @@ promise.then(data => { 彩信附件。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1685,7 +1685,7 @@ promise.then(data => { 彩信地址。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1698,7 +1698,7 @@ promise.then(data => { 消息类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1718,7 +1718,7 @@ promise.then(data => { 彩信优先级类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1732,7 +1732,7 @@ promise.then(data => { 彩信版本类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1747,7 +1747,7 @@ promise.then(data => { 彩信字符集。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1772,7 +1772,7 @@ promise.then(data => { 处理类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1786,7 +1786,7 @@ promise.then(data => { 报告类型。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1799,7 +1799,7 @@ promise.then(data => { 小区广播配置选项。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1815,7 +1815,7 @@ promise.then(data => { SIM卡消息状态。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1831,7 +1831,7 @@ SIM卡消息状态。 设备网络制式。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1844,7 +1844,7 @@ SIM卡消息状态。 短信编码方案。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1859,7 +1859,7 @@ SIM卡消息状态。 SIM卡消息选项。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1874,7 +1874,7 @@ SIM卡消息选项。 更新SIM卡消息选项。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1890,7 +1890,7 @@ SIM卡消息选项。 SIM卡短消息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1904,7 +1904,7 @@ SIM卡短消息。 彩信发送标识。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1920,7 +1920,7 @@ SIM卡短消息。 彩信回复标志。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 @@ -1935,7 +1935,7 @@ SIM卡短消息。 短信段信息。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.SmsMms。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-socket.md b/zh-cn/application-dev/reference/apis/js-apis-socket.md index 944301f6c5509de4702c4535529b73987f310208..fae8be45d6db3c9d731b5a4cac62dd829c34f634 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-socket.md +++ b/zh-cn/application-dev/reference/apis/js-apis-socket.md @@ -12,7 +12,7 @@ import socket from '@ohos.net.socket'; ## socket.constructUDPSocketInstance -constructUDPSocketInstance\(\): UDPSocket +constructUDPSocketInstance(): UDPSocket 创建一个UDPSocket对象。 @@ -38,7 +38,7 @@ UDPSocket连接。在调用UDPSocket的方法前,需要先通过[socket.constr ### bind -bind\(address: NetAddress, callback: AsyncCallback\): void +bind(address: NetAddress, callback: AsyncCallback\): void 绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方式作为异步方法。 @@ -76,7 +76,7 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ### bind -bind\(address: NetAddress\): Promise +bind(address: NetAddress): Promise\ 绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方式作为异步方法。 @@ -118,7 +118,7 @@ promise .then(() => { ### send -send\(options: UDPSendOptions, callback: AsyncCallback\): void +send(options: UDPSendOptions, callback: AsyncCallback\): void 通过UDPSocket连接发送数据。使用callback方式作为异步方法。 @@ -165,7 +165,7 @@ udp.send({ ### send -send\(options: UDPSendOptions\): Promise +send(options: UDPSendOptions): Promise\ 通过UDPSocket连接发送数据。使用Promise方式作为异步方法。 @@ -216,7 +216,7 @@ promise.then(() => { ### close -close\(callback: AsyncCallback\): void +close(callback: AsyncCallback\): void 关闭UDPSocket连接。使用callback方式作为异步方法。 @@ -246,7 +246,7 @@ udp.close(err => { ### close -close\(\): Promise +close(): Promise\ 关闭UDPSocket连接。使用Promise方式作为异步方法。 @@ -275,12 +275,12 @@ promise.then(() => { ### getState -getState\(callback: AsyncCallback\): void +getState(callback: AsyncCallback\): void 获取UDPSocket状态。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)方法调用成功后,才可调用此方法。 +>bind方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -321,12 +321,12 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ### getState -getState\(\): Promise +getState(): Promise\ 获取UDPSocket状态。使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)方法调用成功后,才可调用此方法。 +>bind方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -336,7 +336,7 @@ getState\(\): Promise | 类型 | 说明 | | :----------------------------------------------- | :----------------------------------------- | -| Promise<[SocketStateBase](#socketstatebase)> | 以Promise形式返回获取UDPSocket状态的结果。 | +| Promise\<[SocketStateBase](#socketstatebase)\> | 以Promise形式返回获取UDPSocket状态的结果。 | **示例:** @@ -360,12 +360,12 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ### setExtraOptions -setExtraOptions\(options: UDPExtraOptions, callback: AsyncCallback\): void +setExtraOptions(options: UDPExtraOptions, callback: AsyncCallback\): void 设置UDPSocket连接的其他属性。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)方法调用成功后,才可调用此方法。 +>bind方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -414,12 +414,12 @@ udp.bind({address:'192.168.xx.xxx', port:xxxx, family:1}, err=> { ### setExtraOptions -setExtraOptions\(options: UDPExtraOptions\): Promise +setExtraOptions(options: UDPExtraOptions): Promise\ 设置UDPSocket连接的其他属性。使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)方法调用成功后,才可调用此方法。 +>bind方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -469,9 +469,9 @@ promise.then(() => { ``` -### on\('message'\) +### on('message') -on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void +on(type: 'message', callback: Callback\<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}\>): void 订阅UDPSocket连接的接收消息事件。使用callback方式作为异步方法。 @@ -482,7 +482,7 @@ on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: Sock | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | type | string | 是 | 订阅的事件类型。'message':接收消息事件。 | -| callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}> | 是 | 回调函数。 | +| callback | Callback\<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}\> | 是 | 回调函数。 | **示例:** @@ -494,9 +494,9 @@ udp.on('message', value => { ``` -### off\('message'\) +### off('message') -off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void +off(type: 'message', callback?: Callback\<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}\>): void 取消订阅UDPSocket连接的接收消息事件。使用callback方式作为异步方法。 @@ -526,9 +526,9 @@ udp.off('message'); ``` -### on\('listening' | 'close'\) +### on('listening' | 'close') -on\(type: 'listening' | 'close', callback: Callback\): void +on(type: 'listening' | 'close', callback: Callback\): void 订阅UDPSocket连接的数据包消息事件或关闭事件。使用callback方式作为异步方法。 @@ -554,9 +554,9 @@ udp.on('close', () => { ``` -### off\('listening' | 'close'\) +### off('listening' | 'close') -off\(type: 'listening' | 'close', callback?: Callback\): void +off(type: 'listening' | 'close', callback?: Callback\): void 取消订阅UDPSocket连接的数据包消息事件或关闭事件。使用callback方式作为异步方法。 @@ -593,9 +593,9 @@ udp.off('close'); ``` -### on\('error'\) +### on('error') -on\(type: 'error', callback: ErrorCallback\): void +on(type: 'error', callback: ErrorCallback): void 订阅UDPSocket连接的error事件。使用callback方式作为异步方法。 @@ -618,9 +618,9 @@ udp.on('error', err => { ``` -### off\('error'\) +### off('error') -off\(type: 'error', callback?: ErrorCallback\): void +off(type: 'error', callback?: ErrorCallback): void 取消订阅UDPSocket连接的error事件。使用callback方式作为异步方法。 @@ -720,7 +720,7 @@ UDP 其余错误码映射形式为:2301000 + Linux内核错误码。 ## socket.constructTCPSocketInstance -constructTCPSocketInstance\(\): TCPSocket +constructTCPSocketInstance(): TCPSocket 创建一个TCPSocket对象。 @@ -745,7 +745,7 @@ TCPSocket连接。在调用TCPSocket的方法前,需要先通过[socket.constr ### bind -bind\(address: NetAddress, callback: AsyncCallback\): void +bind(address: NetAddress, callback: AsyncCallback\): void 绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方法作为异步方法。 @@ -783,7 +783,7 @@ tcp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ### bind -bind\(address: NetAddress\): Promise +bind(address: NetAddress): Promise\ 绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方法作为异步方法。 @@ -825,10 +825,13 @@ promise.then(() => { ### connect -connect\(options: TCPConnectOptions, callback: AsyncCallback\): void +connect(options: TCPConnectOptions, callback: AsyncCallback\): void 连接到指定的IP地址和端口。使用callback方法作为异步方法。 +>![](public_sys-resources/icon-note.gif) **说明:** +>bind方法调用成功后,才可调用此方法。 + **需要权限**:ohos.permission.INTERNET **系统能力**:SystemCapability.Communication.NetStack @@ -863,7 +866,7 @@ tcp.connect({ address: {address: '192.168.xx.xxx', port: xxxx, family: 1} , time ### connect -connect\(options: TCPConnectOptions\): Promise +connect(options: TCPConnectOptions): Promise\ 连接到指定的IP地址和端口。使用promise方法作为异步方法。 @@ -905,12 +908,12 @@ promise.then(() => { ### send -send\(options: TCPSendOptions, callback: AsyncCallback\): void +send(options: TCPSendOptions, callback: AsyncCallback\): void 通过TCPSocket连接发送数据。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[connect](#connect)方法调用成功后,才可调用此方法。 +>connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -954,12 +957,12 @@ promise.then(() => { ### send -send\(options: TCPSendOptions\): Promise +send(options: TCPSendOptions): Promise\ 通过TCPSocket连接发送数据。使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[connect](#connect)方法调用成功后,才可调用此方法。 +>connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1007,7 +1010,7 @@ promise1.then(() => { ### close -close\(callback: AsyncCallback\): void +close(callback: AsyncCallback\): void 关闭TCPSocket连接。使用callback方式作为异步方法。 @@ -1043,7 +1046,7 @@ tcp.close(err => { ### close -close\(\): Promise +close(): Promise\ 关闭TCPSocket连接。使用Promise方式作为异步方法。 @@ -1078,12 +1081,12 @@ promise.then(() => { ### getRemoteAddress -getRemoteAddress\(callback: AsyncCallback\): void +getRemoteAddress(callback: AsyncCallback\): void 获取对端Socket地址。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[connect](#connect)方法调用成功后,才可调用此方法。 +>connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1123,12 +1126,12 @@ promise.then(() => { ### getRemoteAddress -getRemoteAddress\(\): Promise +getRemoteAddress(): Promise\ 获取对端Socket地址。使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[connect](#connect)方法调用成功后,才可调用此方法。 +>connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1167,12 +1170,12 @@ promise1.then(() => { ### getState -getState\(callback: AsyncCallback\): void +getState(callback: AsyncCallback\): void 获取TCPSocket状态。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。 +>bind或connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1212,12 +1215,12 @@ promise.then(() => { ### getState -getState\(\): Promise +getState(): Promise\ 获取TCPSocket状态。使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。 +>bind或connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1256,12 +1259,12 @@ promise.then(() => { ### setExtraOptions -setExtraOptions\(options: TCPExtraOptions, callback: AsyncCallback\): void +setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback\): void 设置TCPSocket连接的其他属性。使用callback方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。 +>bind或connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1312,12 +1315,12 @@ promise.then(() => { ### setExtraOptions -setExtraOptions\(options: TCPExtraOptions\): Promise +setExtraOptions(options: TCPExtraOptions): Promise\ 设置TCPSocket连接的其他属性,使用Promise方式作为异步方法。 >![](public_sys-resources/icon-note.gif) **说明:** ->[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。 +>bind或connect方法调用成功后,才可调用此方法。 **需要权限**:ohos.permission.INTERNET @@ -1370,9 +1373,9 @@ promise.then(() => { ``` -### on\('message'\) +### on('message') -on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void +on(type: 'message', callback: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}\>): void 订阅TCPSocket连接的接收消息事件。使用callback方式作为异步方法。 @@ -1395,9 +1398,9 @@ tcp.on('message', value => { ``` -### off\('message'\) +### off('message') -off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void +off(type: 'message', callback?: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}\>): void 取消订阅TCPSocket连接的接收消息事件。使用callback方式作为异步方法。 @@ -1427,9 +1430,9 @@ tcp.off('message'); ``` -### on\('connect' | 'close'\) +### on('connect' | 'close') -on\(type: 'connect' | 'close', callback: Callback\): void +on(type: 'connect' | 'close', callback: Callback\): void 订阅TCPSocket的连接事件或关闭事件。使用callback方式作为异步方法。 @@ -1455,9 +1458,9 @@ tcp.on('close', data => { ``` -### off\('connect' | 'close'\) +### off('connect' | 'close') -off\(type: 'connect' | 'close', callback?: Callback\): void +off(type: 'connect' | 'close', callback?: Callback\): void 取消订阅TCPSocket的连接事件或关闭事件。使用callback方式作为异步方法。 @@ -1494,9 +1497,9 @@ tcp.off('close'); ``` -### on\('error'\) +### on('error') -on\(type: 'error', callback: ErrorCallback\): void +on(type: 'error', callback: ErrorCallback): void 订阅TCPSocket连接的error事件。使用callback方式作为异步方法。 @@ -1519,9 +1522,9 @@ tcp.on('error', err => { ``` -### off\('error'\) +### off('error') -off\(type: 'error', callback?: ErrorCallback\): void +off(type: 'error', callback?: ErrorCallback): void 取消订阅TCPSocket连接的error事件。使用callback方式作为异步方法。 @@ -1622,7 +1625,7 @@ TLSSocket连接。在调用TLSSocket的方法前,需要先通过[socket.constr ### bind9+ -bind\(address: NetAddress, callback: AsyncCallback\): void +bind(address: NetAddress, callback: AsyncCallback\): void 绑定IP地址和端口。使用callback方法作为异步方法。 @@ -1660,7 +1663,7 @@ tls.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ### bind9+ -bind\(address: NetAddress\): Promise +bind(address: NetAddress): Promise\ 绑定IP地址和端口。使用Promise方法作为异步方法。 @@ -1702,7 +1705,7 @@ promise.then(() => { ### getState9+ -getState\(callback: AsyncCallback\): void +getState(callback: AsyncCallback\): void 在TLSSocket的bind成功之后,获取TLSSocket状态。使用callback方式作为异步方法。 @@ -1742,7 +1745,7 @@ tls.getState((err, data) => { ### getState9+ -getState\(\): Promise +getState(): Promise\ 在TLSSocket的bind成功之后,获取TLSSocket状态。使用Promise方式作为异步方法。 @@ -1781,7 +1784,7 @@ promise.then(() => { ### setExtraOptions9+ -setExtraOptions\(options: TCPExtraOptions, callback: AsyncCallback\): void +setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback\): void 在TLSSocket的bind成功之后,设置TCPSocket连接的其他属性。使用callback方式作为异步方法。 @@ -1833,7 +1836,7 @@ tls.setExtraOptions({ ### setExtraOptions9+ -setExtraOptions\(options: TCPExtraOptions\): Promise +setExtraOptions(options: TCPExtraOptions): Promise\ 在TLSSocket的bind成功之后,设置TCPSocket连接的其他属性,使用Promise方式作为异步方法。 @@ -1888,7 +1891,7 @@ promise.then(() => { ### connect9+ -connect(options: TLSConnectOptions, callback: AsyncCallback\): void +connect(options: TLSConnectOptions, callback: AsyncCallback\): void 在TLSSocket上bind成功之后,进行通信连接,并创建和初始化TLS会话,实现建立连接过程,启动与服务器的TLS/SSL握手,实现数据传输功能,使用callback方式作为异步方法。 @@ -1982,7 +1985,7 @@ tlsOneWay.connect(oneWayOptions, (err, data) => { ### connect9+ -connect(options: TLSConnectOptions): Promise\ +connect(options: TLSConnectOptions): Promise\ 在TLSSocket上bind成功之后,进行通信连接,并创建和初始化TLS会话,实现建立连接过程,启动与服务器的TLS/SSL握手,实现数据传输功能,该连接包括两种认证方式,单向认证与双向认证,使用Promise方式作为异步方法。 @@ -1998,7 +2001,7 @@ connect(options: TLSConnectOptions): Promise\ | 类型 | 说明 | | ------------------------------------------- | ----------------------------- | -| Promise\ | 以Promise形式返回,成功无返回,失败返回错误码,错误信息。| +| Promise\ | 以Promise形式返回,成功无返回,失败返回错误码,错误信息。| **错误码:** @@ -2083,7 +2086,7 @@ tlsOneWay.connect(oneWayOptions).then(data => { ### getRemoteAddress9+ -getRemoteAddress\(callback: AsyncCallback\): void +getRemoteAddress(callback: AsyncCallback\): void 在TLSSocket通信连接成功之后,获取对端Socket地址。使用callback方式作为异步方法。 @@ -2093,7 +2096,7 @@ getRemoteAddress\(callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------- | ---- | ---------- | -| callback | AsyncCallback\<[NetAddress](#netaddress)> | 是 | 回调函数。成功返回对端的socket地址,失败返回错误码,错误信息。 | +| callback | AsyncCallback\<[NetAddress](#netaddress)\> | 是 | 回调函数。成功返回对端的socket地址,失败返回错误码,错误信息。 | **错误码:** @@ -2116,7 +2119,7 @@ tls.getRemoteAddress((err, data) => { ### getRemoteAddress9+ -getRemoteAddress\(\): Promise\ +getRemoteAddress(): Promise\ 在TLSSocket通信连接成功之后,获取对端Socket地址。使用Promise方式作为异步方法。 @@ -2148,7 +2151,7 @@ promise.then(() => { ### getCertificate9+ -getCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)>): void +getCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)\>): void 在TLSSocket通信连接成功之后,获取本地的数字证书,该接口只适用于双向认证时,使用callback方式作为异步方法。 @@ -2158,7 +2161,7 @@ getCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)>): | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------| ---- | ---------------| -| callback | AsyncCallback\<[X509CertRawData](#x509certrawdata9)> | 是 | 回调函数,成功返回本地的证书,失败返回错误码,错误信息。| +| callback | AsyncCallback\<[X509CertRawData](#x509certrawdata9)\> | 是 | 回调函数,成功返回本地的证书,失败返回错误码,错误信息。| **错误码:** @@ -2182,7 +2185,7 @@ tls.getCertificate((err, data) => { ### getCertificate9+ -getCertificate():Promise\<[X509CertRawData](#x509certrawdata9)> +getCertificate():Promise\<[X509CertRawData](#x509certrawdata9)\> 在TLSSocket通信连接之后,获取本地的数字证书,该接口只适用于双向认证时,使用Promise方式作为异步方法。 @@ -2192,7 +2195,7 @@ getCertificate():Promise\<[X509CertRawData](#x509certrawdata9)> | 类型 | 说明 | | -------------- | -------------------- | -| Promise\<[X509CertRawData](#x509certrawdata9)> | 以Promise形式返回本地的数字证书的结果。失败返回错误码,错误信息。 | +| Promise\<[X509CertRawData](#x509certrawdata9)\> | 以Promise形式返回本地的数字证书的结果。失败返回错误码,错误信息。 | **错误码:** @@ -2214,7 +2217,7 @@ tls.getCertificate().then(data => { ### getRemoteCertificate9+ -getRemoteCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)>): void +getRemoteCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)\>): void 在TLSSocket通信连接成功之后,获取服务端的数字证书,使用callback方式作为异步方法。 @@ -2224,7 +2227,7 @@ getRemoteCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------| ---- | ---------------| -| callback | AsyncCallback\<[X509CertRawData](#x509certrawdata9)> | 是 | 回调函数,返回服务端的证书。失败返回错误码,错误信息。 | +| callback | AsyncCallback\<[X509CertRawData](#x509certrawdata9)\> | 是 | 回调函数,返回服务端的证书。失败返回错误码,错误信息。 | **错误码:** @@ -2247,7 +2250,7 @@ tls.getRemoteCertificate((err, data) => { ### getRemoteCertificate9+ -getRemoteCertificate():Promise\<[X509CertRawData](#x509certrawdata9)> +getRemoteCertificate():Promise\<[X509CertRawData](#x509certrawdata9)\> 在TLSSocket通信连接成功之后,获取服务端的数字证书,使用Promise方式作为异步方法。 @@ -2257,7 +2260,7 @@ getRemoteCertificate():Promise\<[X509CertRawData](#x509certrawdata9)> | 类型 | 说明 | | -------------- | -------------------- | -| Promise\<[X509CertRawData](#x509certrawdata9)> | 以Promise形式返回服务端的数字证书的结果。失败返回错误码,错误信息。 | +| Promise\<[X509CertRawData](#x509certrawdata9)\> | 以Promise形式返回服务端的数字证书的结果。失败返回错误码,错误信息。 | **错误码:** @@ -2278,7 +2281,7 @@ tls.getRemoteCertificate().then(data => { ### getProtocol9+ -getProtocol(callback: AsyncCallback\): void +getProtocol(callback: AsyncCallback\): void 在TLSSocket通信连接成功之后,获取通信的协议版本,使用callback方式作为异步方法。 @@ -2288,7 +2291,7 @@ getProtocol(callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------| ---- | ---------------| -| callback | AsyncCallback\ | 是 | 回调函数,返回通信的协议。失败返回错误码,错误信息。| +| callback | AsyncCallback\ | 是 | 回调函数,返回通信的协议。失败返回错误码,错误信息。| **错误码:** @@ -2312,7 +2315,7 @@ tls.getProtocol((err, data) => { ### getProtocol9+ -getProtocol():Promise\ +getProtocol():Promise\ 在TLSSocket通信连接成功之后,获取通信的协议版本,使用Promise方式作为异步方法。 @@ -2322,7 +2325,7 @@ getProtocol():Promise\ | 类型 | 说明 | | -------------- | -------------------- | -| Promise\ | 以Promise形式返回通信的协议。失败返回错误码,错误信息。 | +| Promise\ | 以Promise形式返回通信的协议。失败返回错误码,错误信息。 | **错误码:** @@ -2344,7 +2347,7 @@ tls.getProtocol().then(data => { ### getCipherSuite9+ -getCipherSuite(callback: AsyncCallback\>): void +getCipherSuite(callback: AsyncCallback\\>): void 在TLSSocket通信连接成功之后,获取通信双方协商后的加密套件,使用callback方式作为异步方法。 @@ -2354,7 +2357,7 @@ getCipherSuite(callback: AsyncCallback\>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------| ---- | ---------------| -| callback | AsyncCallback\> | 是 | 回调函数,返回通信双方支持的加密套件。 失败返回错误码,错误信息。 | +| callback | AsyncCallback\\> | 是 | 回调函数,返回通信双方支持的加密套件。 失败返回错误码,错误信息。 | **错误码:** @@ -2379,7 +2382,7 @@ tls.getCipherSuite((err, data) => { ### getCipherSuite9+ -getCipherSuite(): Promise\> +getCipherSuite(): Promise\\> 在TLSSocket通信连接成功之后,获取通信双方协商后的加密套件,使用Promise方式作为异步方法。 @@ -2389,7 +2392,7 @@ getCipherSuite(): Promise\> | 类型 | 说明 | | ---------------------- | --------------------- | -| Promise\> | 以Promise形式返回通信双方支持的加密套件。失败返回错误码,错误信息。 | +| Promise\\> | 以Promise形式返回通信双方支持的加密套件。失败返回错误码,错误信息。 | **错误码:** @@ -2412,7 +2415,7 @@ tls.getCipherSuite().then(data => { ### getSignatureAlgorithms9+ -getSignatureAlgorithms(callback: AsyncCallback\>): void +getSignatureAlgorithms(callback: AsyncCallback\\>): void 在TLSSocket通信连接成功之后,获取通信双方协商后签名算法,该接口只适配双向认证模式下,使用callback方式作为异步方法。 @@ -2422,7 +2425,7 @@ getSignatureAlgorithms(callback: AsyncCallback\>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------| ---- | ---------------| -| callback | AsyncCallback\> | 是 | 回调函数,返回双方支持的签名算法。 | +| callback | AsyncCallback\\> | 是 | 回调函数,返回双方支持的签名算法。 | **错误码:** @@ -2445,7 +2448,7 @@ tls.getSignatureAlgorithms((err, data) => { ### getSignatureAlgorithms9+ -getSignatureAlgorithms(): Promise\> +getSignatureAlgorithms(): Promise\\> 在TLSSocket通信连接成功之后,获取通信双方协商后的签名算法,该接口只适配双向认证模式下,使用Promise方式作为异步方法。 @@ -2455,7 +2458,7 @@ getSignatureAlgorithms(): Promise\> | 类型 | 说明 | | ---------------------- | -------------------- | -| Promise\> | 以Promise形式返回获取到的双方支持的签名算法。 | +| Promise\\> | 以Promise形式返回获取到的双方支持的签名算法。 | **错误码:** @@ -2476,7 +2479,7 @@ tls.getSignatureAlgorithms().then(data => { ### send9+ -send(data: string, callback: AsyncCallback\): void +send(data: string, callback: AsyncCallback\): void 在TLSSocket通信连接成功之后,向服务端发送消息,使用callback方式作为异步方法。 @@ -2487,7 +2490,7 @@ send(data: string, callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -----------------------------| ---- | ---------------| | data | string | 是 | 发送的数据内容。 | -| callback | AsyncCallback\ | 是 | 回调函数,返回TLSSocket发送数据的结果。失败返回错误码,错误信息。 | +| callback | AsyncCallback\ | 是 | 回调函数,返回TLSSocket发送数据的结果。失败返回错误码,错误信息。 | **错误码:** @@ -2514,7 +2517,7 @@ tls.send("xxxx", (err) => { ### send9+ -send(data: string): Promise\ +send(data: string): Promise\ 在TLSSocket通信连接成功之后,向服务端发送消息,使用Promise方式作为异步方法。 @@ -2541,7 +2544,7 @@ send(data: string): Promise\ | 类型 | 说明 | | -------------- | -------------------- | -| Promise\ | 以Promise形式返回,返回TLSSocket发送数据的结果。失败返回错误码,错误信息。 | +| Promise\ | 以Promise形式返回,返回TLSSocket发送数据的结果。失败返回错误码,错误信息。 | **示例:** @@ -2555,7 +2558,7 @@ tls.send("xxxx").then(() =>{ ### close9+ -close(callback: AsyncCallback\): void +close(callback: AsyncCallback\): void 在TLSSocket通信连接成功之后,断开连接,使用callback方式作为异步方法。 @@ -2565,7 +2568,7 @@ close(callback: AsyncCallback\): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -----------------------------| ---- | ---------------| -| callback | AsyncCallback\ | 是 | 回调函数,成功返回TLSSocket关闭连接的结果。 失败返回错误码,错误信息。 | +| callback | AsyncCallback\ | 是 | 回调函数,成功返回TLSSocket关闭连接的结果。 失败返回错误码,错误信息。 | **错误码:** @@ -2590,7 +2593,7 @@ tls.close((err) => { ### close9+ -close(): Promise\ +close(): Promise\ 在TLSSocket通信连接成功之后,断开连接,使用Promise方式作为异步方法。 @@ -2600,7 +2603,7 @@ close(): Promise\ | 类型 | 说明 | | -------------- | -------------------- | -| Promise\ | 以Promise形式返回,返回TLSSocket关闭连接的结果。失败返回错误码,错误信息。 | +| Promise\ | 以Promise形式返回,返回TLSSocket关闭连接的结果。失败返回错误码,错误信息。 | **错误码:** @@ -2631,7 +2634,7 @@ TLS连接的操作。 | -------------- | ------------------------------------- | --- |-------------- | | address | [NetAddress](#netaddress) | 是 | 网关地址。 | | secureOptions | [TLSSecureOptions](#tlssecureoptions9) | 是 | TLS安全相关操作。| -| ALPNProtocols | Array\ | 否 | ALPN协议。 | +| ALPNProtocols | Array\ | 否 | ALPN协议。 | ## TLSSecureOptions9+ @@ -2641,11 +2644,11 @@ TLS安全相关操作,其中ca证书为必选参数,其他参数为可选参 | 名称 | 类型 | 必填 | 说明 | | --------------------- | ------------------------------------------------------ | --- |----------------------------------- | -| ca | string \| Array\ | 是 | 服务端的ca证书,用于认证校验服务端的数字证书。| +| ca | string \| Array\ | 是 | 服务端的ca证书,用于认证校验服务端的数字证书。| | cert | string | 否 | 本地客户端的数字证书。 | | key | string | 否 | 本地数字证书的私钥。 | | password | string | 否 | 读取私钥的密码。 | -| protocols | [Protocol](#protocol9) \|Array\<[Protocol](#protocol9)> | 否 | TLS的协议版本。 | +| protocols | [Protocol](#protocol9) \|Array\<[Protocol](#protocol9)\> | 否 | TLS的协议版本。 | | useRemoteCipherPrefer | boolean | 否 | 优先使用对等方的密码套件。 | | signatureAlgorithms | string | 否 | 通信过程中的签名算法。 | | cipherSuite | string | 否 | 通信过程中的加密套件。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-app.md b/zh-cn/application-dev/reference/apis/js-apis-system-app.md index 8a03bfb8c5842b16ec77570d4a577400b3073893..2595d85b30288d01f32894c7d4d70fe9f740c32d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-app.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-app.md @@ -199,7 +199,7 @@ export default { ## ScreenOnVisible(deprecated) -screenOnVisible(options?: ScreenOnVisibleOptions) +screenOnVisible(options?: ScreenOnVisibleOptions): void 定义屏幕唤醒时是否保持应用可见。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-fetch.md b/zh-cn/application-dev/reference/apis/js-apis-system-fetch.md index ed8c646e3d6082c779bd9e02b726cc4c634dbac0..a3c71e776adc301450ed12afe4427a528a0fc86b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-fetch.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-fetch.md @@ -14,7 +14,7 @@ import fetch from '@system.fetch'; ``` -## fetch.fetch +## fetch.fetch3+ fetch(Object): void @@ -23,7 +23,7 @@ fetch(Object): void **系统能力:** SystemCapability.Communication.NetStack **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | url | string | 是 | 资源地址。 | | data | string \| Object | 否 | 请求的参数,可选类型是字符串或者json对象。详见表 data与Content-Type关系。 | @@ -45,7 +45,7 @@ fetch(Object): void ## FetchResponse -| 参数名 | 类型 | 可读 | 可写 | 说明 | +| 名称 | 类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | code | number | 是 | 否 | 表示服务器的状态code。 | | data | string \| Object | 是 | 否 | 返回数据类型由responseType确定,详见表 responseType与success中data关系。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-network.md b/zh-cn/application-dev/reference/apis/js-apis-system-network.md index dafd8dfb0cc77456536366353b7b3a3a01e9851b..2008c020907e73b5c05423145edf06e4fb6aea4d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-network.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-network.md @@ -31,7 +31,7 @@ getType(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | success | Function | 否 | 接口调用成功的回调函数,返回值为[NetworkResponse](#networkresponse) | | fail | Function | 否 | 接口调用失败的回调函数。 | @@ -71,7 +71,7 @@ subscribe(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | success | Function | 否 | 网络发生变化的回调函数,返回值为[NetworkResponse](#networkresponse) | | fail | Function | 否 | 接口调用失败的回调函数。 | @@ -124,7 +124,7 @@ export default { **系统能力:** SystemCapability.Communication.NetManager.Core -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | metered | boolean | 否 |是否按照流量计费。 | | type | string | 是|网络类型,可能的值有2g,3g,4g,5g,wifi,none等。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-notification.md b/zh-cn/application-dev/reference/apis/js-apis-system-notification.md index 90e659026163849de506824f05de742aa919db44..62de17e20deea8e360dd120e81514740aec84907 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-notification.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-notification.md @@ -17,22 +17,22 @@ import notification from '@system.notification'; **系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification -| 名称 | 类型 | 可读 | 可写 | 必填 | 描述 | -| ----------- | ---------------------------------------------- | ---- | ------------------------- | ------------------------- | ------------------------- | -| bundleName | string | 是 | 是 | 是 | 单击通知后要重定向到的应用程序的Bundle名。 | -| abilityName | string | 是 | 是 | 是 | 单击通知后要重定向到的应用程序的Ability名称。 | -| uri | string | 是 | 是 | 否 | 要重定向到的页面的uri。 | +| 名称 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------------- | ---- | ------------------------- | +| bundleName | string | 是 | 单击通知后要重定向到的应用程序的Bundle名。 | +| abilityName | string | 是 | 单击通知后要重定向到的应用程序的Ability名称。 | +| uri | string | 否 | 要重定向到的页面的uri。 | ## ShowNotificationOptions **系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification -| 名称 | 类型 | 可读 | 可写 | 必填 | 描述 | -| ------------- | ---------------------------------------------- | ---- | ------------------------- | ------------------------- | ------------------------- | -| contentTitle | string | 是 | 是 | 否 | 通知标题。 | -| contentText | string | 是 | 是 | 否 | 通知内容。 | -| clickAction | ActionResult | 是 | 是 | 否 | 通知被点击后触发的行为。 | +| 名称 | 类型 | 必填 | 说明 | +| ------------- | ---------------------------------------------- | ---- | ------------------------- | +| contentTitle | string | 否 | 通知标题。 | +| contentText | string | 否 | 通知内容。 | +| clickAction | ActionResult | 否 | 通知被点击后触发的行为。 | ## notification.show diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-sensor.md b/zh-cn/application-dev/reference/apis/js-apis-system-sensor.md index 3ad1ecd1983a0849dca0c47b44303ae31b62c7da..2f3d54255a9a81a80a337a8877df9e76c032fecc 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-sensor.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-sensor.md @@ -1,7 +1,5 @@ # @system.sensor (传感器) -## 模块说明 - sensor模块提供订阅传感器数据基本能力,主要包含查询传感器的列表、订阅/取消传感器的数据、执行控制命令等。 根据传感器的用途,可以将传感器分为六大类:运动类传感器、环境类传感器、方向类传感器、光线类传感器、健康类传感器、其他类传感器(如霍尔传感器),每一大类传感器包含不同类型的传感器,某种类型的传感器可能是单一的物理传感器,也可能是由多个物理传感器复合而成。 @@ -10,7 +8,7 @@ sensor模块提供订阅传感器数据基本能力,主要包含查询传感 > **说明:** > > - 从API Version 8开始,该接口不再维护,推荐使用新接口[`@ohos.sensor`](js-apis-sensor.md)。 -> - 本模块首批接口从API version 4开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > - 该功能使用需要对应硬件支持,仅支持真机调试。 @@ -21,15 +19,9 @@ sensor模块提供订阅传感器数据基本能力,主要包含查询传感 import sensor from '@system.sensor'; ``` -## 传感器错误码列表 - -| 错误码 | 说明 | -| ---- | -------------- | -| 900 | 当前设备不支持相应的传感器。 | - ## sensor.subscribeAccelerometer -subscribeAccelerometer(Object): void + subscribeAccelerometer(options: subscribeAccelerometerOptions): void 观察加速度数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -39,23 +31,13 @@ subscribeAccelerometer(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | ---- | ---------------------------------------- | -| interval | string | 是 | 频率参数,加速度的回调函数执行频率。
默认为normal,可选值有:
- game:极高的回调频率,20ms/次,适用于游戏。
- ui:较高的回调频率,60ms/次,适用于UI更新。
- normal:普通的回调频率,200ms/次,低功耗。 | -| success | Function | 是 | 感应到加速度数据变化后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| ---- | ------ | ------- | -| x | number | x轴的加速度。 | -| y | number | y轴的加速度。 | -| z | number | z轴的加速度。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------ | +| options | [subscribeAccelerometerOptions](#subscribeaccelerometeroptions) | 是 | 监听加速度传感器数据的回调函数的执行频率。 | **示例:** -``` +```js sensor.subscribeAccelerometer({ interval: 'normal', success: function(ret) { @@ -84,13 +66,13 @@ unsubscribeAccelerometer(): void **示例:** -``` +```js sensor.unsubscribeAccelerometer(); ``` ## sensor.subscribeCompass -subscribeCompass(Object): void + subscribeCompass(options: SubscribeCompassOptions): void 订阅罗盘数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -98,20 +80,13 @@ subscribeCompass(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | --------------- | -| success | Function | 是 | 罗盘数据改变后触发的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| --------- | ------ | ---------- | -| direction | number | 设备面对的方向度数。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------------------- | ---- | -------------------------------- | +| options | [SubscribeCompassOptions](#subscribecompassoptions) | 是 | 当罗盘传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeCompass({ success: function(ret) { console.log('get data direction:' + ret.direction); @@ -135,13 +110,13 @@ unsubscribeCompass(): void **示例:** -``` +```js sensor.unsubscribeCompass(); ``` ## sensor.subscribeProximity -subscribeProximity(Object): void + subscribeProximity(options: SubscribeProximityOptions): void 订阅距离感应数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -149,20 +124,13 @@ subscribeProximity(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | ----------------- | -| success | Function | 是 | 距离感应数据改变后调用的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| -------- | ------ | --------------------- | -| distance | number | 可见物体相对于设备显示屏的接近或远离状态。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------- | ---- | -------------------------------- | +| options | [SubscribeProximityOptions](#subscribeproximityoptions) | 是 | 当距离传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeProximity({ success: function(ret) { console.log('get data distance:' + ret.distance); @@ -186,13 +154,13 @@ unsubscribeProximity(): void **示例:** -``` +```js sensor.unsubscribeProximity(); ``` ## sensor.subscribeLight -sensor.subscribeLight(Object): void + subscribeLight(options: SubscribeLightOptions): void 订阅环境光线感应数据变化。再次调用时,会覆盖前一次调用效果,即仅最后一次调用生效。 @@ -200,20 +168,13 @@ sensor.subscribeLight(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | --------------- | -| success | Function | 是 | 光线感应数据改变后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| --------- | ------ | ------------ | -| intensity | number | 光线强度,单位为lux。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ----------------------------------------------- | ---- | ---------------------------------- | +| options | [SubscribeLightOptions](#subscribelightoptions) | 是 | 当环境光传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeLight({ success: function(ret) { console.log('get data intensity:' + ret.intensity); @@ -237,13 +198,13 @@ unsubscribeLight(): void **示例:** -``` +```js sensor.unsubscribeLight(); ``` ## sensor.subscribeStepCounter -subscribeStepCounter(Object): void + subscribeStepCounter(options: SubscribeStepCounterOptions): void 订阅计步传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -253,20 +214,13 @@ subscribeStepCounter(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | ---------------- | -| success | Function | 是 | 计步传感器数据改变后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| ----- | ------ | --------------------- | -| steps | number | 计步传感器重启后累计记录的步数。
| +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ----------------------------------------------------------- | ---- | -------------------------------------- | +| options | [SubscribeStepCounterOptions](#subscribestepcounteroptions) | 是 | 当步进计数器传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeStepCounter({ success: function(ret) { console.log('get step value:' + ret.steps); @@ -292,14 +246,14 @@ unsubscribeStepCounter(): void **示例:** -``` +```js sensor.unsubscribeStepCounter(); ``` ## sensor.subscribeBarometer -subscribeBarometer(Object): void +subscribeBarometer(options: SubscribeBarometerOptions): void 订阅气压传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -307,20 +261,13 @@ subscribeBarometer(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | ---------------- | -| success | Function | 是 | 气压传感器数据改变后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| -------- | ------ | ----------- | -| pressure | number | 气压值,单位:帕斯卡。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------- | ---- | ---------------------------------- | +| options | [SubscribeBarometerOptions](#subscribebarometeroptions) | 是 | 当气压计传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeBarometer({ success: function(ret) { console.log('get data value:' + ret.pressure); @@ -345,14 +292,14 @@ unsubscribeBarometer(): void **示例:** -``` +```js sensor.unsubscribeBarometer(); ``` ## sensor.subscribeHeartRate -subscribeHeartRate(Object): void + subscribeHeartRate(options: SubscribeHeartRateOptions): void 订阅心率传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -362,20 +309,13 @@ subscribeHeartRate(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | ------------------------- | -| success | Function | 是 | 心率传感器数据改变后的回调函数,默认频率5s/次。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| --------- | ------ | ---- | -| heartRate | number | 心率值。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------- | ---- | -------------------------------- | +| options | [SubscribeHeartRateOptions](#subscribeheartrateoptions) | 是 | 当心率传感器数据发生变化时调用。 | **示例:** -``` +```js sensor.subscribeHeartRate({ success: function(ret) { console.log('get heartrate value:' + ret.heartRate); @@ -402,13 +342,13 @@ unsubscribeHeartRate(): void **示例:** -``` +```js sensor.unsubscribeHeartRate(); ``` ## sensor.subscribeOnBodyState -subscribeOnBodyState(Object): void + subscribeOnBodyState(options: SubscribeOnBodyStateOptions): void 订阅设备佩戴状态。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。 @@ -416,20 +356,13 @@ subscribeOnBodyState(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | -------- | ---- | ------------- | -| success | Function | 是 | 穿戴状态改变后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| ----- | ------- | ------ | -| value | boolean | 是否已佩戴。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ----------------------------------------------------------- | ---- | ---------------------- | +| options | [SubscribeOnBodyStateOptions](#subscribeonbodystateoptions) | 是 | 当穿着状态改变时调用。 | **示例:** -``` +```js sensor.subscribeOnBodyState({ success: function(ret) { console.log('get on-body state value:' + ret.value); @@ -453,13 +386,13 @@ unsubscribeOnBodyState(): void **示例:** -``` +```js sensor.unsubscribeOnBodyState(); ``` ## sensor.getOnBodyState -getOnBodyState(Object): void + getOnBodyState(options: GetOnBodyStateOptions): void 获取设备佩戴状态。 @@ -467,21 +400,13 @@ getOnBodyState(Object): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | ---- | ------------ | -| success | Function | 否 | 接口调用成功的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | -| complete | Function | 否 | 接口调用结束的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| ----- | ------- | ------ | -| value | boolean | 是否已佩戴。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ----------------------------------------------- | ---- | -------------------------- | +| options | [GetOnBodyStateOptions](#getonbodystateoptions) | 是 | 获取传感器磨损状态时调用。 | **示例:** -``` +```js sensor.getOnBodyState({ success: function(ret) { console.log('on body state: ' + ret.value); @@ -494,7 +419,7 @@ sensor.getOnBodyState({ ## sensor.subscribeDeviceOrientation6+ -subscribeDeviceOrientation(interval: string, success: (data: DeviceOrientationResponse), fail?: (data: string, code: number)): void + subscribeDeviceOrientation(options: SubscribeDeviceOrientationOptions): void 观察设备方向传感器数据变化。 @@ -504,22 +429,13 @@ subscribeDeviceOrientation(interval: string, success: (data: DeviceOrientationRe **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | ---- | ---------------------------------------- | -| interval | string | 是 | 频率参数,设备方向传感器的回调函数执行频率。
默认为normal,可选值有:
- game:极高的回调频率,20ms/次,适用于游戏。
- ui:较高的回调频率,60ms/次,适用于UI更新。
- normal:普通的回调频率,200ms/次,低功耗。 | -| success | Function | 是 | 感应到设备方向传感器数据变化后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - - success返回值: -| 参数名 | 类型 | 说明 | -| ----- | ------ | ---------------------------------------- | -| alpha | number | 当设备坐标 X/Y 和地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha。 | -| beta | number | 当设备坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。 | -| gamma | number | 当设备 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------ | +| options | [SubscribeDeviceOrientationOptions](#subscribedeviceorientationoptions) | 是 | 用于监听设备方向传感器数据的回调函数的执行频率。 | **示例:** -``` +```js sensor.subscribeDeviceOrientation({ interval: 'normal', success: function(ret) { @@ -546,13 +462,13 @@ unsubscribeDeviceOrientation(): void **示例:** -``` +```js sensor.unsubscribeDeviceOrientation(); ``` ## sensor.subscribeGyroscope6+ -subscribeGyroscope(interval: string, success: (data: GyroscopeResponse), fail?: (data: string, code: number)): void + subscribeGyroscope(options: SubscribeGyroscopeOptions): void 观察陀螺仪数据变化。 @@ -564,23 +480,13 @@ subscribeGyroscope(interval: string, success: (data: GyroscopeResponse), fail?: **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | ---- | ---------------------------------------- | -| interval | string | 是 | 频率参数,陀螺仪的回调函数执行频率。
默认为normal,可选值有:
- game:极高的回调频率,20ms/次,适用于游戏。
- ui:较高的回调频率,60ms/次,适用于UI更新。
- normal:普通的回调频率,200ms/次,低功耗。 | -| success | Function | 是 | 感应到陀螺仪数据变化后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | - -success返回值: - -| 参数名 | 类型 | 说明 | -| ---- | ------ | --------- | -| x | number | x轴的旋转角速度。 | -| y | number | y轴的旋转角速度。 | -| z | number | z轴的旋转角速度。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------- | ---- | ---------------------------------------------- | +| options | [SubscribeGyroscopeOptions](#subscribegyroscopeoptions) | 是 | 用于侦听陀螺仪传感器数据的回调函数的执行频率。 | **示例:** -``` +```js sensor.subscribeGyroscope({ interval: 'normal', success: function(ret) { @@ -609,6 +515,253 @@ unsubscribeGyroscope(): void **示例:** -``` +```js sensor.unsubscribeGyroscope(); ``` + +## subscribeAccelerometerOptions + +用于监听加速度传感器数据的回调函数的执行频率。 + +**需要权限**:ohos.permission.ACCELEROMETER + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | +| interval | string | 是 | 频率参数,加速度的回调函数执行频率。 默认为normal,可选值有: - game:极高的回调频率,20ms/次,适用于游戏。 - ui:较高的回调频率,60ms/次,适用于UI更新。 - normal:普通的回调频率,200ms/次,低功耗。 | +| success | [AccelerometerResponse](#accelerometerresponse) | 是 | 感应到加速度数据变化后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## AccelerometerResponse + +感应到加速度数据变化后的回调函数。 + +**需要权限**:ohos.permission.ACCELEROMETER + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ---- | ------ | ---- | ------------- | +| x | number | 是 | x轴的加速度。 | +| y | number | 是 | y轴的加速度。 | +| z | number | 是 | z轴的加速度。 | + +## SubscribeCompassOptions + +当罗盘传感器数据发生变化时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | ----------------------------------- | ---- | ------------------------------ | +| success | [CompassResponse](#compassresponse) | 是 | 罗盘数据改变后触发的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## CompassResponse + +罗盘数据改变后触发的回调函数。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | -------------------- | +| direction | number | 是 | 设备面对的方向度数。 | + +## SubscribeProximityOptions + +当距离传感器数据发生变化时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ---------------------------------- | +| success | [ProximityResponse](#proximityresponse) | 是 | 距离感应数据改变后调用的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## ProximityResponse + +距离感应数据改变后调用的回调函数。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | ------ | ---- | ------------------------------------------ | +| distance | number | 是 | 可见物体相对于设备显示屏的接近或远离状态。 | + +## SubscribeLightOptions + +当环境光传感器数据发生变化时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | ------------------------------- | ---- | ------------------------------ | +| success | [LightResponse](#lightresponse) | 是 | 光线感应数据改变后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## LightResponse + +光线感应数据改变后的回调函数。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | --------------------- | +| intensity | number | 是 | 光线强度,单位为lux。 | + +## SubscribeStepCounterOptions + +当步进计数器传感器数据发生变化时调用。 + +**需要权限**:ohos.permission.ACTIVITY_MOTION + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------- | ---- | -------------------------------- | +| success | [StepCounterResponse](#stepcounterresponse) | 是 | 计步传感器数据改变后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## StepCounterResponse + +计步传感器数据改变后的回调函数。 + +**需要权限**:ohos.permission.ACTIVITY_MOTION + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ----- | ------ | ---- | -------------------------------- | +| steps | number | 是 | 计步传感器重启后累计记录的步数。 | + +## SubscribeBarometerOptions + +当气压计传感器数据发生变化时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | -------------------------------- | +| success | [BarometerResponse](#barometerresponse) | 是 | 气压传感器数据改变后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## BarometerResponse + +气压传感器数据改变后的回调函数。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | ------ | ---- | ---------------------- | +| pressure | number | 是 | 气压值,单位:帕斯卡。 | + +## SubscribeHeartRateOptions + +当心率传感器数据发生变化时调用。 + +**需要权限**:ohos.permission.READ_HEALTH_DATA + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ----------------------------------------------- | +| success | [HeartRateResponse](#heartrateresponse) | 是 | 心率传感器数据改变后的回调函数,默认频率5s/次。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## HeartRateResponse + +心率传感器数据改变后的回调函数,默认频率5s/次。 + +**需要权限**:ohos.permission.READ_HEALTH_DATA + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | -------- | +| heartRate | number | 是 | 心率值。 | + +## SubscribeOnBodyStateOptions + +当穿着状态改变时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------- | ---- | -------------------------- | +| success | [OnBodyStateResponse](#onbodystateresponse) | 是 | 穿戴状态改变后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## OnBodyStateResponse + +传感器是否磨损。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ----- | ------- | ---- | ------------ | +| value | boolean | 是 | 是否已佩戴。 | + +## GetOnBodyStateOptions + + 获取传感器磨损状态时调用。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------- | ---- | ------------------------ | +| success | [OnBodyStateResponse](#onbodystateresponse) | 否 | 接口调用成功的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | +| complete | Function | 否 | 接口调用结束的回调函数。 | + +## SubscribeDeviceOrientationOptions6+ + +用于监听设备方向传感器数据的回调函数的执行频率。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| interval | string | 是 | 频率参数,设备方向传感器的回调函数执行频率。
默认为normal,可选值有:
- game:极高的回调频率,20ms/次,适用于游戏。
- ui:较高的回调频率,60ms/次,适用于UI更新。
- normal:普通的回调频率,200ms/次,低功耗。 | +| success | [DeviceOrientationResponse](#deviceorientationresponse) | 是 | 感应到设备方向传感器数据变化后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## DeviceOrientationResponse6+ + +感应到设备方向传感器数据变化后的回调函数。 + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ----- | ------ | ---- | ------------------------------------------------------------ | +| alpha | number | 是 | 当设备坐标 X/Y 和地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha。 | +| beta | number | 是 | 当设备坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。 | +| gamma | number | 是 | 当设备 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。 | + +## SubscribeGyroscopeOptions6+ + +用于侦听陀螺仪传感器数据的回调函数的执行频率。 + +**需要权限**:ohos.permission.GYROSCOPE + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| interval | string | 是 | 频率参数,陀螺仪的回调函数执行频率。
默认为normal,可选值有:
- game:极高的回调频率,20ms/次,适用于游戏。
- ui:较高的回调频率,60ms/次,适用于UI更新。
- normal:普通的回调频率,200ms/次,低功耗。 | +| success | [GyroscopeResponse](#gyroscoperesponse) | 是 | 感应到陀螺仪数据变化后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | + +## GyroscopeResponse6+ + +感应到陀螺仪数据变化后的回调函数。 + +**需要权限**:ohos.permission.GYROSCOPE + +**系统能力**:SystemCapability.Sensors.Sensor + +| 名称 | 类型 | 必填 | 说明 | +| ---- | ------ | ---- | ----------------- | +| x | number | 是 | x轴的旋转角速度。 | +| y | number | 是 | y轴的旋转角速度。 | +| z | number | 是 | z轴的旋转角速度。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-vibrate.md b/zh-cn/application-dev/reference/apis/js-apis-system-vibrate.md index 0d8e3958c0847d20639ed13991919981a6bdcb84..7726086cc4e0c4e0327b773d8278e9240fcb5041 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-vibrate.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-vibrate.md @@ -1,14 +1,12 @@ # @system.vibrator (振动) -## 模块说明 - vibrator模块提供控制马达振动的能力,主要包含灯的列表查询、打开灯、关闭灯等接口,振动器的列表查询、振动器的振动器效果查询、触发/关闭振动器等接口。 控制类小器件指的是设备上的LED灯和振动器。其中,LED灯主要用作指示(如充电状态)、闪烁功能(如三色灯)等;振动器主要用于闹钟、开关机振动、来电振动等场景。 > **说明:** -> - 本模块首批接口从API version 4开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > - 从API Version 8开始,该接口不再维护,推荐使用新接口[`@ohos.vibrator`](js-apis-vibrator.md)。 > - 该功能使用需要对应硬件支持,仅支持真机调试。 @@ -22,26 +20,23 @@ import vibrator from '@system.vibrator'; ## vibrator.vibrate -vibrate(Object): void + vibrate(options?: VibrateOptions): void 触发设备振动。 -**系统能力**:SystemCapability.Sensors.MiscDevice +**需要权限**:ohos.permission.VIBRATE -**需要权限**:ohos.permission.VIBRATE,该权限为系统权限 +**系统能力**:SystemCapability.Sensors.MiscDevice **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| mode | string | 否 | 振动的模式,其中long表示长振动,short表示短振动,默认值为long。 | -| success | Function | 是 | 感应到振动数据变化后的回调函数。 | -| fail | Function | 否 | 接口调用失败的回调函数。 | -| complete | Function | 否 | 接口调用结束的回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------- | ---- | ---------- | +| options | [VibrateOptions](#vibrateoptions) | 否 | 振动模式。 | **示例:** -``` +```js vibrator.vibrate({ mode: 'short', success: function() { @@ -56,3 +51,17 @@ vibrator.vibrate({ }); ``` +## VibrateOptions + +振动模式。 + +**需要权限**:ohos.permission.VIBRATE + +**系统能力**:SystemCapability.Sensors.MiscDevice + +| 名称 | 类型 | 必填 | 说明 | +| -------- | -------- | ---- | ------------------------------------------------------------ | +| mode | string | 否 | 振动的模式,其中long表示长振动,short表示短振动,默认值为long。 | +| success | Function | 否 | 感应到振动数据变化后的回调函数。 | +| fail | Function | 否 | 接口调用失败的回调函数。 | +| complete | Function | 否 | 接口调用结束的回调函数。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-telephony-data.md b/zh-cn/application-dev/reference/apis/js-apis-telephony-data.md index 3b47746d554cb7d47e7d0ac83c9089ca2990dda9..f72845bb1c3db446c2de88fc3ede9595b9ae8347 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-telephony-data.md +++ b/zh-cn/application-dev/reference/apis/js-apis-telephony-data.md @@ -85,7 +85,7 @@ setDefaultCellularDataSlotId(slotId: number, callback: AsyncCallback\): v 设置默认移动数据的SIM卡,使用callback方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -125,7 +125,7 @@ setDefaultCellularDataSlotId(slotId: number): Promise\ 设置默认移动数据的SIM卡,使用Promise方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -420,7 +420,7 @@ enableCellularData(callback: AsyncCallback): void 启用蜂窝数据服务,使用callback方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -457,7 +457,7 @@ enableCellularData(): Promise 启用蜂窝数据服务,使用Promise方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -497,7 +497,7 @@ disableCellularData(callback: AsyncCallback): void 禁用蜂窝数据服务,使用callback方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -534,7 +534,7 @@ disableCellularData(): Promise 禁用蜂窝数据服务,使用Promise方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -574,7 +574,7 @@ enableCellularDataRoaming(slotId: number, callback: AsyncCallback): void 启用蜂窝数据漫游,使用callback方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -612,7 +612,7 @@ enableCellularDataRoaming(slotId: number): Promise 启用蜂窝数据漫游,使用Promise方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -658,7 +658,7 @@ disableCellularDataRoaming(slotId: number, callback: AsyncCallback): void 禁用蜂窝数据漫游,使用callback方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE @@ -696,7 +696,7 @@ disableCellularDataRoaming(slotId: number): Promise 禁用蜂窝数据漫游,使用Promise方式作为异步方法。 -此接口为系统接口。 +**系统接口:** 此接口为系统接口。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE diff --git a/zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md b/zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md index 8cfdfad79d999541c7aa89f26a00b738a76ea06b..90a86e2c1b414f4509e807450837cc3952045da0 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md +++ b/zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md @@ -32,7 +32,7 @@ getDevices(): Array<Readonly<USBDevice>> ```js let devicesList = usb.getDevices(); -console.log(`devicesList = ${JSON.stringify(devicesList)}`); +console.log(`devicesList = ${devicesList}`); //devicesList 返回的数据结构 //此处提供一个简单的示例,如下 [ @@ -111,7 +111,7 @@ connectDevice(device: USBDevice): Readonly<USBDevicePipe> ```js let devicepipe= usb.connectDevice(device); -console.log(`devicepipe = ${JSON.stringify(devicepipe)}`); +console.log(`devicepipe = ${devicepipe}`); ``` ## usb.hasRight @@ -167,7 +167,7 @@ requestRight(deviceName: string): Promise<boolean> ```js let devicesName="1-1"; usb.requestRight(devicesName).then((ret) => { - console.log(`requestRight = ${JSON.stringify(ret)}`); + console.log(`requestRight = ${ret}`); }); ``` @@ -375,8 +375,9 @@ controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout ?: **示例:** ```js -usb.controlTransfer(devicepipe, USBControlParams).then((ret) => { - console.log(`controlTransfer = ${JSON.stringify(ret)}`); +let param = new usb.USBControlParams(); +usb.controlTransfer(devicepipe, param).then((ret) => { + console.log(`controlTransfer = ${ret}`); }) ``` @@ -412,7 +413,7 @@ bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, tim //把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后; //才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。 usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => { - console.log(`bulkTransfer = ${JSON.stringify(ret)}`); + console.log(`bulkTransfer = ${ret}`); }); ``` @@ -499,7 +500,7 @@ usbFunctionsToString(funcs: FunctionType): string **示例:** ```js -let funcs = ACM | ECM; +let funcs = usb.ACM | usb.ECM; let ret = usb.usbFunctionsToString(funcs); ``` @@ -528,7 +529,7 @@ setCurrentFunctions(funcs: FunctionType): Promise\ **示例:** ```js -let funcs = HDC; +let funcs = usb.HDC; let ret = usb.setCurrentFunctions(funcs); ``` @@ -631,7 +632,12 @@ setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): **示例:** ```js -let ret = usb.getSupportedModes(0); +let portId = 1; +usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => { + console.info('usb setPortRoles successfully.'); +}).catch(err => { + console.error('usb setPortRoles failed: ' + err.code + ' message: ' + err.message); +}); ``` ## USBEndpoint diff --git a/zh-cn/application-dev/reference/apis/js-apis-usb.md b/zh-cn/application-dev/reference/apis/js-apis-usb.md index dbc589203251e74a0158365d73da639edd0d48a8..df58b15f33dd1b1668795996d324ca2aeeedd347 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-usb.md +++ b/zh-cn/application-dev/reference/apis/js-apis-usb.md @@ -32,7 +32,7 @@ getDevices(): Array<Readonly<USBDevice>> ```js let devicesList = usb.getDevices(); -console.log(`devicesList = ${JSON.stringify(devicesList)}`); +console.log(`devicesList = ${devicesList}`); //devicesList 返回的数据结构 //此处提供一个简单的示例,如下 [ @@ -121,13 +121,12 @@ connectDevice(device: USBDevice): Readonly<USBDevicePipe> let devicesList = usb.getDevices(); if (devicesList.length == 0) { console.log(`device list is empty`); - return; } let device = devicesList[0]; usb.requestRight(device.name); let devicepipe = usb.connectDevice(device); -console.log(`devicepipe = ${JSON.stringify(devicepipe)}`); +console.log(`devicepipe = ${devicepipe}`); ``` ## usb.hasRight @@ -185,7 +184,7 @@ requestRight(deviceName: string): Promise<boolean> ```js let devicesName="1-1"; usb.requestRight(devicesName).then((ret) => { - console.log(`requestRight = ${JSON.stringify(ret)}`); + console.log(`requestRight = ${ret}`); }); ``` @@ -213,7 +212,7 @@ removeRight(deviceName: string): boolean ```js let devicesName="1-1"; -if (usb.removeRight(devicesName) { +if usb.removeRight(devicesName) { console.log(`Succeed in removing right`); } ``` @@ -248,7 +247,7 @@ addRight(bundleName: string, deviceName: string): boolean ```js let devicesName = "1-1"; let bundleName = "com.example.hello"; -if (usb.addRight(bundleName, devicesName) { +if usb.addRight(bundleName, devicesName) { console.log(`Succeed in adding right`); } ``` @@ -457,8 +456,9 @@ controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout ?: **示例:** ```js -usb.controlTransfer(devicepipe, USBControlParams).then((ret) => { - console.log(`controlTransfer = ${JSON.stringify(ret)}`); +let param = new usb.USBControlParams(); +usb.controlTransfer(devicepipe, param).then((ret) => { + console.log(`controlTransfer = ${ret}`); }) ``` @@ -494,7 +494,7 @@ bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, tim //把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后; //才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。 usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => { - console.log(`bulkTransfer = ${JSON.stringify(ret)}`); + console.log(`bulkTransfer = ${ret}`); }); ``` @@ -581,7 +581,7 @@ usbFunctionsToString(funcs: FunctionType): string **示例:** ```js -let funcs = ACM | ECM; +let funcs = usb.ACM | usb.ECM; let ret = usb.usbFunctionsToString(funcs); ``` @@ -610,7 +610,7 @@ setCurrentFunctions(funcs: FunctionType): Promise\ **示例:** ```js -let funcs = HDC; +let funcs = usb.HDC; usb.setCurrentFunctions(funcs).then(() => { console.info('usb setCurrentFunctions successfully.'); }).catch(err => { @@ -718,7 +718,7 @@ setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): ```js let portId = 1; -usb.usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => { +usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => { console.info('usb setPortRoles successfully.'); }).catch(err => { console.error('usb setPortRoles failed: ' + err.code + ' message: ' + err.message); diff --git a/zh-cn/application-dev/reference/apis/js-apis-usbManager.md b/zh-cn/application-dev/reference/apis/js-apis-usbManager.md index 6eaf7501cc163afbec26e8b9749da044f94b4e05..5b8d67b962b11b834dda0bfe4d14edbcf39a4b61 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-usbManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-usbManager.md @@ -30,7 +30,7 @@ getDevices(): Array<Readonly<USBDevice>> ```js let devicesList = usb.getDevices(); -console.log(`devicesList = ${JSON.stringify(devicesList)}`); +console.log(`devicesList = ${devicesList}`); //devicesList 返回的数据结构 //此处提供一个简单的示例,如下 [ @@ -119,13 +119,12 @@ connectDevice(device: USBDevice): Readonly<USBDevicePipe> let devicesList = usb.getDevices(); if (devicesList.length == 0) { console.log(`device list is empty`); - return; } let device = devicesList[0]; usb.requestRight(device.name); let devicepipe = usb.connectDevice(device); -console.log(`devicepipe = ${JSON.stringify(devicepipe)}`); +console.log(`devicepipe = ${devicepipe}`); ``` ## usb.hasRight @@ -155,7 +154,7 @@ hasRight(deviceName: string): boolean ```js let devicesName="1-1"; let bool = usb.hasRight(devicesName); -console.log(bool); +console.log(`${bool}`); ``` ## usb.requestRight @@ -183,7 +182,7 @@ requestRight(deviceName: string): Promise<boolean> ```js let devicesName="1-1"; usb.requestRight(devicesName).then((ret) => { - console.log(`requestRight = ${JSON.stringify(ret)}`); + console.log(`requestRight = ${ret}`); }); ``` @@ -211,7 +210,7 @@ removeRight(deviceName: string): boolean ```js let devicesName="1-1"; -if (usb.removeRight(devicesName) { +if usb.removeRight(devicesName) { console.log(`Succeed in removing right`); } ``` @@ -246,7 +245,7 @@ addRight(bundleName: string, deviceName: string): boolean ```js let devicesName = "1-1"; let bundleName = "com.example.hello"; -if (usb.addRight(bundleName, devicesName) { +if usb.addRight(bundleName, devicesName) { console.log(`Succeed in adding right`); } ``` @@ -455,8 +454,9 @@ controlTransfer(pipe: USBDevicePipe, controlparam: USBControlParams, timeout ?: **示例:** ```js -usb.controlTransfer(devicepipe, USBControlParams).then((ret) => { - console.log(`controlTransfer = ${JSON.stringify(ret)}`); +let param = new usb.USBControlParams(); +usb.controlTransfer(devicepipe, param).then((ret) => { + console.log(`controlTransfer = ${ret}`); }) ``` @@ -492,7 +492,7 @@ bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array, tim //把获取到的设备对象作为参数传入usb.connectDevice;当usb.connectDevice接口成功返回之后; //才可以调用第三个接口usb.claimInterface.当usb.claimInterface 调用成功以后,再调用该接口。 usb.bulkTransfer(devicepipe, endpoint, buffer).then((ret) => { - console.log(`bulkTransfer = ${JSON.stringify(ret)}`); + console.log(`bulkTransfer = ${ret}`); }); ``` @@ -579,7 +579,7 @@ usbFunctionsToString(funcs: FunctionType): string **示例:** ```js -let funcs = ACM | ECM; +let funcs = usb.ACM | usb.ECM; let ret = usb.usbFunctionsToString(funcs); ``` @@ -608,7 +608,7 @@ setCurrentFunctions(funcs: FunctionType): Promise\ **示例:** ```js -let funcs = HDC; +let funcs = usb.HDC; usb.setCurrentFunctions(funcs).then(() => { console.info('usb setCurrentFunctions successfully.'); }).catch(err => { @@ -716,7 +716,7 @@ setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): ```js let portId = 1; -usb.usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => { +usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => { console.info('usb setPortRoles successfully.'); }).catch(err => { console.error('usb setPortRoles failed: ' + err.code + ' message: ' + err.message); diff --git a/zh-cn/application-dev/reference/apis/js-apis-webSocket.md b/zh-cn/application-dev/reference/apis/js-apis-webSocket.md index bb4cff3e2293e3d89c9ec53f1367f41d51b18104..0bf162425ec749ca7a9e1d31e96e753d687cd706 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-webSocket.md +++ b/zh-cn/application-dev/reference/apis/js-apis-webSocket.md @@ -64,7 +64,7 @@ ws.connect(defaultIpAddress, (err, value) => { ## webSocket.createWebSocket -createWebSocket\(\): WebSocket +createWebSocket(): WebSocket 创建一个WebSocket,里面包括建立连接、关闭连接、发送数据和订阅/取消订阅WebSocket连接的打开事件、接收到服务器消息事件、关闭事件和错误事件。 @@ -89,7 +89,7 @@ let ws = webSocket.createWebSocket(); ### connect -connect\(url: string, callback: AsyncCallback\): void +connect(url: string, callback: AsyncCallback\): void 根据URL地址,建立一个WebSocket连接,使用callback方式作为异步方法。 @@ -99,7 +99,7 @@ connect\(url: string, callback: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ---------------------------- | | url | string | 是 | 建立WebSocket连接的URL地址。 | | callback | AsyncCallback\ | 是 | 回调函数。 | @@ -128,7 +128,7 @@ ws.connect(url, (err, value) => { ### connect -connect\(url: string, options: WebSocketRequestOptions, callback: AsyncCallback\): void +connect(url: string, options: WebSocketRequestOptions, callback: AsyncCallback\): void 根据URL地址和header,建立一个WebSocket连接,使用callback方式作为异步方法。 @@ -138,7 +138,7 @@ connect\(url: string, options: WebSocketRequestOptions, callback: AsyncCallback< **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------------------------------------- | | url | string | 是 | 建立WebSocket连接的URL地址。 | | options | WebSocketRequestOptions | 是 | 参考[WebSocketRequestOptions](#websocketrequestoptions)。 | @@ -173,7 +173,7 @@ ws.connect(url, { ### connect -connect\(url: string, options?: WebSocketRequestOptions\): Promise +connect(url: string, options?: WebSocketRequestOptions): Promise\ 根据URL地址和header,建立一个WebSocket连接,使用Promise方式作为异步方法。 @@ -183,7 +183,7 @@ connect\(url: string, options?: WebSocketRequestOptions\): Promise **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | ------- | ----------------------- | ---- | ------------------------------------------------------- | | url | string | 是 | 建立WebSocket连接的URL地址。 | | options | WebSocketRequestOptions | 否 | 参考[WebSocketRequestOptions](#websocketrequestoptions)。 | @@ -217,7 +217,7 @@ promise.then((value) => { ### send -send\(data: string | ArrayBuffer, callback: AsyncCallback\): void +send(data: string | ArrayBuffer, callback: AsyncCallback\): void 通过WebSocket连接发送数据,使用callback方式作为异步方法。 @@ -227,9 +227,9 @@ send\(data: string | ArrayBuffer, callback: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------ | -| data | string \| ArrayBuffer 8+ | 是 | 发送的数据。 | +| data | string \| ArrayBuffer | 是 | 发送的数据。
API 6及更早版本仅支持string类型。API 8起同时支持string和ArrayBuffer类型。 | | callback | AsyncCallback\ | 是 | 回调函数。 | **错误码:** @@ -258,7 +258,7 @@ ws.connect(url, (err, value) => { ### send -send\(data: string | ArrayBuffer\): Promise +send(data: string | ArrayBuffer): Promise\ 通过WebSocket连接发送数据,使用Promise方式作为异步方法。 @@ -268,9 +268,9 @@ send\(data: string | ArrayBuffer\): Promise **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | -| data | string \| ArrayBuffer 8+ | 是 | 发送的数据。 | +| data | string \| ArrayBuffer | 是 | 发送的数据。
API 6及更早版本仅支持string类型。API 8起同时支持string和ArrayBuffer类型。 | **返回值:** @@ -303,7 +303,7 @@ ws.connect(url, (err, value) => { ### close -close\(callback: AsyncCallback\): void +close(callback: AsyncCallback\): void 关闭WebSocket连接,使用callback方式作为异步方法。 @@ -313,7 +313,7 @@ close\(callback: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ---------- | | callback | AsyncCallback\ | 是 | 回调函数。 | @@ -341,7 +341,7 @@ ws.close((err, value) => { ### close -close\(options: WebSocketCloseOptions, callback: AsyncCallback\): void +close(options: WebSocketCloseOptions, callback: AsyncCallback\): void 根据可选参数code和reason,关闭WebSocket连接,使用callback方式作为异步方法。 @@ -351,7 +351,7 @@ close\(options: WebSocketCloseOptions, callback: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ----------------------------------------------------- | | options | WebSocketCloseOptions | 是 | 参考[WebSocketCloseOptions](#websocketcloseoptions)。 | | callback | AsyncCallback\ | 是 | 回调函数。 | @@ -383,7 +383,7 @@ ws.close({ ### close -close\(options?: WebSocketCloseOptions\): Promise +close(options?: WebSocketCloseOptions): Promise\ 根据可选参数code和reason,关闭WebSocket连接,使用Promise方式作为异步方法。 @@ -393,7 +393,7 @@ close\(options?: WebSocketCloseOptions\): Promise **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | ------- | --------------------- | ---- | ----------------------------------------------------- | | options | WebSocketCloseOptions | 否 | 参考[WebSocketCloseOptions](#websocketcloseoptions)。 | @@ -427,9 +427,9 @@ promise.then((value) => { ``` -### on\('open'\) +### on('open') -on\(type: 'open', callback: AsyncCallback\): void +on(type: 'open', callback: AsyncCallback\): void 订阅WebSocket的打开事件,使用callback方式作为异步方法。 @@ -437,7 +437,7 @@ on\(type: 'open', callback: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ----------------------- | ---- | ----------------------------- | | type | string | 是 | 'open':WebSocket的打开事件。 | | callback | AsyncCallback\ | 是 | 回调函数。 | @@ -453,9 +453,9 @@ ws.on('open', (err, value) => { ``` -### off\('open'\) +### off('open') -off\(type: 'open', callback?: AsyncCallback\): void +off(type: 'open', callback?: AsyncCallback\): void 取消订阅WebSocket的打开事件,使用callback方式作为异步方法。 @@ -466,7 +466,7 @@ off\(type: 'open', callback?: AsyncCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ----------------------- | ---- | ----------------------------- | | type | string | 是 | 'open':WebSocket的打开事件。 | | callback | AsyncCallback\ | 否 | 回调函数。 | @@ -484,20 +484,20 @@ ws.off('open', callback1); ``` -### on\('message'\) +### on('message') -on\(type: 'message', callback: AsyncCallback\): void +on(type: 'message', callback: AsyncCallback\): void 订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。 >![](public_sys-resources/icon-note.gif) **说明:** ->AsyncCallback中的数据可以是字符串\(API 6\)或ArrayBuffer\(API 8\)。 +>AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。 **系统能力**:SystemCapability.Communication.NetStack **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ----------------------- | ---- | -------------------------------------------- | | type | string | 是 | 'message':WebSocket的接收到服务器消息事件。 | | callback | AsyncCallback\8+
\> | 是 | 回调函数。 | @@ -512,21 +512,21 @@ ws.on('message', (err, value) => { ``` -### off\('message'\) +### off('message') -off\(type: 'message', callback?: AsyncCallback\): void +off(type: 'message', callback?: AsyncCallback\): void 取消订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。 >![](public_sys-resources/icon-note.gif) **说明:** ->AsyncCallback中的数据可以是字符串\(API 6\)或ArrayBuffer\(API 8\)。 +>AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。 >可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 **系统能力**:SystemCapability.Communication.NetStack **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | --------------------------------------------------- | ---- | -------------------------------------------- | | type | string | 是 | 'message':WebSocket的接收到服务器消息事件。 | | callback | AsyncCallback\8+
\> | 否 | 回调函数。 | @@ -539,9 +539,9 @@ ws.off('message'); ``` -### on\('close'\) +### on('close') -on\(type: 'close', callback: AsyncCallback<\{ code: number, reason: string \}\>\): void +on(type: 'close', callback: AsyncCallback\<{ code: number, reason: string }\>): void 订阅WebSocket的关闭事件,使用callback方式作为异步方法。 @@ -549,10 +549,10 @@ on\(type: 'close', callback: AsyncCallback<\{ code: number, reason: string \}\>\ **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------------- | ---- | ------------------------------ | | type | string | 是 | 'close':WebSocket的关闭事件。 | -| callback | AsyncCallback<{ code: number, reason: string }> | 是 | 回调函数。 | +| callback | AsyncCallback\<{ code: number, reason: string }\> | 是 | 回调函数。
close:close错误码,reason:错误码说明 | **示例:** @@ -564,9 +564,9 @@ ws.on('close', (err, value) => { ``` -### off\('close'\) +### off('close') -off\(type: 'close', callback?: AsyncCallback<\{ code: number, reason: string \}\>\): void +off(type: 'close', callback?: AsyncCallback\<{ code: number, reason: string }\>): void 取消订阅WebSocket的关闭事件,使用callback方式作为异步方法。 @@ -577,10 +577,10 @@ off\(type: 'close', callback?: AsyncCallback<\{ code: number, reason: string \}\ **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ----------------------------------------------- | ---- | ------------------------------ | | type | string | 是 | 'close':WebSocket的关闭事件。 | -| callback | AsyncCallback<{ code: number, reason: string }> | 否 | 回调函数。 | +| callback | AsyncCallback\<{ code: number, reason: string }\> | 否 | 回调函数。
close:close错误码,reason:错误码说明 | **示例:** @@ -590,9 +590,9 @@ ws.off('close'); ``` -### on\('error'\) +### on('error') -on\(type: 'error', callback: ErrorCallback\): void +on(type: 'error', callback: ErrorCallback): void 订阅WebSocket的Error事件,使用callback方式作为异步方法。 @@ -600,7 +600,7 @@ on\(type: 'error', callback: ErrorCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------- | ---- | ------------------------------- | | type | string | 是 | 'error':WebSocket的Error事件。 | | callback | ErrorCallback | 是 | 回调函数。 | @@ -615,9 +615,9 @@ ws.on('error', (err) => { ``` -### off\('error'\) +### off('error') -off\(type: 'error', callback?: ErrorCallback\): void +off(type: 'error', callback?: ErrorCallback): void 取消订阅WebSocket的Error事件,使用callback方式作为异步方法。 @@ -628,7 +628,7 @@ off\(type: 'error', callback?: ErrorCallback\): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 名称 | 类型 | 必填 | 说明 | | -------- | ------------- | ---- | ------------------------------- | | type | string | 是 | 'error':WebSocket的Error事件。 | | callback | ErrorCallback | 否 | 回调函数。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-webview.md b/zh-cn/application-dev/reference/apis/js-apis-webview.md index 5d1714ae2769ae5bb05f49f44069fb4f22b12a8e..a58c8c1edf0a170e2050c59b134611edadea705a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-webview.md +++ b/zh-cn/application-dev/reference/apis/js-apis-webview.md @@ -2,7 +2,7 @@ # @ohos.web.webview (Webview) -提供web控制能力。 +@ohos.web.webview提供web控制能力,[web](../arkui-ts/ts-basic-components-web.md)组件提供具有网页显示能力。 > **说明:** > diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-custom-basic-usage.md b/zh-cn/application-dev/reference/arkui-js/js-components-custom-basic-usage.md index bbd00b8c1bf389bc026f2f3617fc3cc70e93cdd4..18cf415472a1b896c485b35bea6dfe5fe0583695 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-custom-basic-usage.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-custom-basic-usage.md @@ -3,7 +3,7 @@ 自定义组件是用户根据业务需求,将已有的组件组合,封装成的新组件,可以在工程中多次调用,从而提高代码的可读性。自定义组件通过element引入到宿主页面,使用方法如下: ```html - +
@@ -12,8 +12,8 @@ 结合if-else使用自定义组件的示例,showComp1为true时显示自定义组件comp1,否则显示comp2: ```html - - + +
@@ -76,7 +76,7 @@ export default { ```html - +
@@ -125,7 +125,7 @@ export default { ```html - +
父组件:{{text}} diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-custom-props.md b/zh-cn/application-dev/reference/arkui-js/js-components-custom-props.md index a384d0cce0f98cbb715089815d29acc5285db440..882d732f5a7e097dcfb573c49b67101a85f2dfcd 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-custom-props.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-custom-props.md @@ -21,7 +21,7 @@ export default { ```html - +
@@ -57,7 +57,7 @@ export default { ```html - +
diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-custom-slot.md b/zh-cn/application-dev/reference/arkui-js/js-components-custom-slot.md index f5bceca1a24068409268c4e600872f24afafcba3..b3d541c6c8473b6a6da0d74348f0f98d97ef39cc 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-custom-slot.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-custom-slot.md @@ -20,7 +20,7 @@ 引用该自定义组件方式如下: ```html - +
父组件中定义的内容 @@ -45,7 +45,7 @@ 引用该自定义组件方式如下: ```html - +
插入第二个插槽中 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-formcomponent.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-formcomponent.md index d451d3fd941f47c54577fc54125255a713e35ea7..c8737ca8a0712ae7f8025b17fa46c1f4762c38f4 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-formcomponent.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-formcomponent.md @@ -108,7 +108,7 @@ struct CardExample { .visibility(Visibility.Visible) .onAcquired((form)=>{ console.log(`form info : ${JSON.stringify(form)}`); - this.fomId = form.id; + this.formId = form.id; }) .onError((err)=>{ console.log(`fail to add form, err: ${JSON.stringify(err)}`); diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md index e7b1ed7b72f86319e27fb457d1c8d2d3ff8ac742..f6bea4ffa03a0f8adc39b76c86bf7539656f8963 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md @@ -362,18 +362,14 @@ struct ImageExample3 { ```ts import fileio from '@ohos.fileio'; import fs from '@ohos.file.fs'; -import context from '@ohos.app.ability.context'; +import context from '@ohos.app.ability.common'; @Entry @Component struct LoadImageExample { @State resourcesPath: string = '' @State sandboxPath: string = '' - context: context.AbilityContext - - aboutToAppear() { - this.context = getContext(this) as context.AbilityContext - } + context: context.UIAbility = getContext(this) as context.UIAbilityContext build() { Column() { diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md index 0bad69d7c539028e0e165cc3e16a27ca93575876..f4d92ad423e1a47497d5673b2ce8dea3a587f09d 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md @@ -46,7 +46,7 @@ PluginComponent(value: { template: PluginComponentTemplate, data: KVObject}) ```ts //PluginUserExample.ets -import plugin from "plugin_component.js" +import plugin from "./plugin_component.js" @Entry @Component @@ -102,7 +102,7 @@ struct PluginUserExample { ```ts //PluginProviderExample.ets -import plugin from "plugin_component.js" +import plugin from "./plugin_component.js" @Entry @Component diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md index dbe81d0fad2e5eb7414e7048e323617297084736..e2ef464bdaa9064929c8e10b23378634d177bec0 100755 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md @@ -1,6 +1,6 @@ # Web -提供具有网页显示能力的Web组件。 +提供具有网页显示能力的Web组件,[@ohos.web.webview](../apis/js-apis-webview.md)提供web控制能力。 > **说明:** > diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-list.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-list.md index d03d1391d70b7c3a49ccdc15d1312f436808da7a..d8efdcba02ce93942ef2974c83aba4b8a829137d 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-list.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-list.md @@ -34,7 +34,7 @@ List(value?:{space?: number | string, initialIndex?: number, scroller? | 名称 | 参数类型 | 描述 | | -------- | -------- | -------- | | listDirection | [Axis](ts-appendix-enums.md#axis) | 设置List组件排列方向。
默认值:Axis.Vertical
从API version 9开始,该接口支持在ArkTS卡片中使用。 | -| divider | {
strokeWidth: [Length](ts-types.md#length),
color?:[ResourceColor](ts-types.md),
startMargin?: Length,
endMargin?: Length
} \| null | 设置ListItem分割线样式,默认无分割线。
- strokeWidth: 分割线的线宽。
- color: 分割线的颜色。
- startMargin: 分割线与列表侧边起始端的距离。
- endMargin: 分割线与列表侧边结束端的距离。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | +| divider | {
strokeWidth: [Length](ts-types.md#length),
color?:[ResourceColor](ts-types.md#resourcecolor),
startMargin?: Length,
endMargin?: Length
} \| null | 设置ListItem分割线样式,默认无分割线。
- strokeWidth: 分割线的线宽。
- color: 分割线的颜色。
- startMargin: 分割线与列表侧边起始端的距离。
- endMargin: 分割线与列表侧边结束端的距离。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | scrollBar | [BarState](ts-appendix-enums.md#barstate) | 设置滚动条状态。
默认值:BarState.Off
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | cachedCount | number | 设置列表中ListItem/ListItemGroup的预加载数量,其中ListItemGroup将作为一个整体进行计算,ListItemGroup中的所有ListItem会一次性全部加载出来。具体使用可参考[减少应用白块说明](../../ui/ui-ts-performance-improvement-recommendation.md#减少应用滑动白块)。
默认值:1
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | editMode(deprecated) | boolean | 声明当前List组件是否处于可编辑模式。
从API version9开始废弃。
默认值:false | @@ -76,9 +76,9 @@ List(value?:{space?: number | string, initialIndex?: number, scroller? | onScrollIndex(event: (start: number, end: number) => void) | 列表滑动时触发。
计算索引值时,ListItemGroup作为一个整体占一个索引值,不计算ListItemGroup内部ListItem的索引值。
- start: 滑动起始位置索引值。
- end: 滑动结束位置索引值。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | onReachStart(event: () => void) | 列表到达起始位置时触发。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | onReachEnd(event: () => void) | 列表到底末尾位置时触发。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | -| onScrollFrameBegin9+(event: (offset: number, state: ScrollState) => { offsetRemain }) | 列表开始滑动时触发,事件参数传入即将发生的滑动量,事件处理函数中可根据应用场景计算实际需要的滑动量并作为事件处理函数的返回值返回,列表将按照返回值的实际滑动量进行滑动。
\- offset:即将发生的滑动量。
\- state:当前滑动状态。
- offsetRemain:水平方向实际滑动量。
该接口支持在ArkTS卡片中使用。 | -| onScrollStart9+(event: () => void) | 列表滑动开始时触发。手指拖动列表或列表的滚动条触发的滑动开始时,会触发该事件。使用[Scroller](ts-container-scroll.md#scroller)滑动控制器触发的滑动,不会触发该事件。
该接口支持在ArkTS卡片中使用。 | -| onScrollStop(event: () => void) | 列表滑动停止时触发。手拖动列表或列表的滚动条触发的滑动,手离开屏幕并且滑动停止时会触发该事件;使用[Scroller](ts-container-scroll.md#scroller)滑动控制器触发的滑动,不会触发该事件。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | +| onScrollFrameBegin9+(event: (offset: number, state: ScrollState) => { offsetRemain }) | 列表开始滑动时触发,事件参数传入即将发生的滑动量,事件处理函数中可根据应用场景计算实际需要的滑动量并作为事件处理函数的返回值返回,列表将按照返回值的实际滑动量进行滑动。
\- offset:即将发生的滑动量。
\- state:当前滑动状态。
- offsetRemain:实际滑动量。
该接口支持在ArkTS卡片中使用。 | +| onScrollStart9+(event: () => void) | 列表滑动开始时触发。手指拖动列表或列表的滚动条触发的滑动开始时,会触发该事件。使用[Scroller](ts-container-scroll.md#scroller)滑动控制器触发的带动画的滑动,动画开始时会触发该事件。
该接口支持在ArkTS卡片中使用。 | +| onScrollStop(event: () => void) | 列表滑动停止时触发。手拖动列表或列表的滚动条触发的滑动,手离开屏幕并且滑动停止时会触发该事件;使用[Scroller](ts-container-scroll.md#scroller)滑动控制器触发的带动画的滑动,动画停止会触发该事件。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | | onItemMove(event: (from: number, to: number) => boolean) | 列表元素发生移动时触发。
- from: 移动前索引值。
- to: 移动后索引值。 | | onItemDragStart(event: (event: ItemDragInfo, itemIndex: number) => ((() => any) \| void) | 开始拖拽列表元素时触发。
- event: 见[ItemDragInfo对象说明](ts-container-grid.md#itemdraginfo对象说明)。
- itemIndex: 被拖拽列表元素索引值。 | | onItemDragEnter(event: (event: ItemDragInfo) => void) | 拖拽进入列表元素范围内时触发。
- event: 见[ItemDragInfo对象说明](ts-container-grid.md#itemdraginfo对象说明)。 | diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md index 9996564d394d9c646f255a0d132d8c601638c3e3..53803a4425e2c592b4f70e3dda1a2670d6e6ae71 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md @@ -18,6 +18,12 @@ Scroll(scroller?: Scroller) +**参数:** + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| scroller | [Scroller](#scroller) | 否 | 可滚动组件的控制器。用于与可滚动组件进行绑定。 | + ## 属性 除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: @@ -42,12 +48,12 @@ Scroll(scroller?: Scroller) | 名称 | 功能描述 | | ------------------------------------------------------------ | ------------------------------------------------------------ | -| onScrollFrameBegin9+(event: (offset: number, state: ScrollState) => { offsetRemain }) | 每帧开始滚动时触发,事件参数传入即将发生的滚动量,事件处理函数中可根据应用场景计算实际需要的滚动量并作为事件处理函数的返回值返回,Scroll将按照返回值的实际滚动量进行滚动。
\- offset:即将发生的滚动量。
\- state:当前滚动状态。
- offsetRemain:水平方向实际滚动量。 | +| onScrollFrameBegin9+(event: (offset: number, state: ScrollState) => { offsetRemain }) | 每帧开始滚动时触发,事件参数传入即将发生的滚动量,事件处理函数中可根据应用场景计算实际需要的滚动量并作为事件处理函数的返回值返回,Scroll将按照返回值的实际滚动量进行滚动。
\- offset:即将发生的滚动量。
\- state:当前滚动状态。
- offsetRemain:实际滚动量。 | | onScroll(event: (xOffset: number, yOffset: number) => void) | 滚动事件回调, 返回滚动时水平、竖直方向偏移量。 | | onScrollEdge(event: (side: Edge) => void) | 滚动到边缘事件回调。 | -| onScrollEnd(event: () => void) | 滚动停止事件回调。
该事件从API9开始废弃,使用onScrollStop事件替代。 | -| onScrollStart9+(event: () => void) | 滚动开始时触发。手指拖动Scroll或拖动Scroll的滚动条触发的滚动开始时,会触发该事件。使用[Scroller](#scroller)滚动控制器触发的滚动,不会触发该事件。 | -| onScrollStop9+(event: () => void) | 滚动停止时触发。手拖动Scroll或拖动Scroll的滚动条触发的滚动,手离开屏幕并且滚动停止时会触发该事件;使用[Scroller](#scroller)滚动控制器触发的滚动,不会触发该事件。 | +| onScrollEnd(deprecated) (event: () => void) | 滚动停止事件回调。
该事件从API9开始废弃,使用onScrollStop事件替代。 | +| onScrollStart9+(event: () => void) | 滚动开始时触发。手指拖动Scroll或拖动Scroll的滚动条触发的滚动开始时,会触发该事件。使用[Scroller](#scroller)滚动控制器触发的带动画的滚动,动画开始时会触发该事件。 | +| onScrollStop9+(event: () => void) | 滚动停止时触发。手拖动Scroll或拖动Scroll的滚动条触发的滚动,手离开屏幕并且滚动停止时会触发该事件。使用[Scroller](#scroller)滚动控制器触发的带动画的滚动,动画停止时会触发该事件。 | > **说明:** > @@ -111,7 +117,7 @@ scrollPage(value: { next: boolean, direction?: Axis }): void ### currentOffset -currentOffset() +currentOffset(): { xOffset: number, yOffset: number } 返回当前的滚动偏移量。 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-stack.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-stack.md index 48c577803003b31fec6feed7de514b1fc178b3ac..d9f512ae3ac8ee670a63cedc7b695c05c21da2af 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-stack.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-stack.md @@ -20,9 +20,17 @@ Stack(value?: { alignContent?: Alignment }) **参数:** -| 参数名 | 参数类型 | 必填 | 参数描述 | -| -------- | -------- | -------- | -------- | -| alignContent | [Alignment](ts-appendix-enums.md#alignment) | 否 | 设置子组件在容器内的对齐方式。
默认值:Alignment.Center | +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------------ | ------------------------------------------- | ---- | ----------------------------------------------------------- | +| alignContent | [Alignment](ts-appendix-enums.md#alignment) | 否 | 设置子组件在容器内的对齐方式。
默认值:Alignment.Center | + +## 属性 + +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| ------------ | ------------------------------------------- | ------------------------------ | +| alignContent | [Alignment](ts-appendix-enums.md#alignment) | 设置子组件在容器内的对齐方式。 | ## 示例 diff --git a/zh-cn/application-dev/reference/errorcodes/Readme-CN.md b/zh-cn/application-dev/reference/errorcodes/Readme-CN.md index 7e61c5e73bdf16d7bccf4cecdd4cd9045ed69a86..6f6b2cb855d65b2d2820613ae9273c74f763ce28 100644 --- a/zh-cn/application-dev/reference/errorcodes/Readme-CN.md +++ b/zh-cn/application-dev/reference/errorcodes/Readme-CN.md @@ -27,7 +27,7 @@ - 资源管理 - [I18n错误码](errorcode-i18n.md) - [资源管理错误码](errorcode-resource-manager.md) -- 资源调度 +- 后台任务 - [backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md) - [DeviceUsageStatistics错误码](errorcode-DeviceUsageStatistics.md) - [reminderAgentManager错误码](errorcode-reminderAgentManager.md) diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-CommonEventService.md b/zh-cn/application-dev/reference/errorcodes/errorcode-CommonEventService.md index bcea1a8c6c40325a5878a3c8aa603367b37de806..449647cc0ccb75ccf12adac41b9ef7eabba7caac 100644 --- a/zh-cn/application-dev/reference/errorcodes/errorcode-CommonEventService.md +++ b/zh-cn/application-dev/reference/errorcodes/errorcode-CommonEventService.md @@ -3,7 +3,7 @@ ## 1500001 want中Action为空 **错误信息** -> Want action is null +> The action field in the want parameter is null. **错误描述** > 发送事件的`want`中的`Action`属性为空时系统会产生此错误码。 @@ -17,7 +17,7 @@ ## 1500002 沙箱应用无法发送公共事件 **错误信息** -> sandbox application can not send common event +> A sandbox application cannot send common events. **错误描述** > 沙箱应用无法发送公共事件。 @@ -31,7 +31,7 @@ ## 1500003 事件发送频率过高 **错误信息** -> common event send frequency too high +> Too many common events are send in a short period of time. **错误描述** > 应用发送事件过于频繁。 @@ -45,7 +45,7 @@ ## 1500004 无法发送系统公共事件 **错误信息** -> not System services or System app +> A third-party application cannot send system common events. **错误描述** > 当前应用无法发送系统公共事件。 @@ -59,7 +59,7 @@ ## 1500005 未找到订阅者 **错误信息** -> subscriber can not found +> The subscriber is not found. **错误描述** > 找不到订阅者。 @@ -73,7 +73,7 @@ ## 1500006 无效userId **错误信息** -> userId is invalid +> Invalid userId. **错误描述** > 无效的userId。 @@ -87,7 +87,7 @@ ## 1500007 IPC请求发送失败 **错误信息** -> message send error +> Failed to send the message. **错误描述** > `IPC`发送请求失败。 @@ -101,7 +101,7 @@ ## 1500008 读取数据失败 **错误信息** -> CEMS error +> Failed to read the data. **错误描述** > 服务端发生错误。 @@ -112,10 +112,10 @@ **处理步骤** > 稍后重新尝试。 -## 1500009 system error +## 1500009 系统错误 **错误信息** -> system error +> System error. **错误描述** > 处理业务时系统发生异常,如获取系统当前时间失败。 diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md b/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md index b8df64665eb74f2427257730932c8b8e2039ac39..58f43d71aa878ac09703d76678c6e7b54a1611b0 100644 --- a/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md +++ b/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md @@ -394,4 +394,60 @@ Failed to install the HAP because the overlay check of the HAP is failed. 3. 检查目标应用是否不为overlay特征的应用 4. 检查目标module是否不为overlay特征的module。 +## 17700032 指定的应用不包含overlay特征的module + +**错误信息**
+The specified bundle does not contain any overlay module. + +**错误描述**
+查询指定应用中overlay特征module的overlayModuleInfo时, 指定的应用不包含overlay特征module。 + +**可能原因**
+指定的应用不包含overlay特征module。 + +**处理步骤**
+检查指定的应用是否不包含overlay特征module。 + +## 17700033 指定的module不是overlay特征的module + +**错误信息**
+The specified module is not overlay module. + +**错误描述**
+查询指定的overlay特征module的overlayModuleInfo时, 指定的module不是overlay特征module。 + +**可能原因**
+指定的module不是overlay特征的module。 + +**处理步骤**
+检查指定的module是否不为overlay特征的module。 + +## 17700034 指定的module是overlay特征的module + +**错误信息**
+The specified module is overlay module. + +**错误描述**
+查询指定的目标module所关联的overlayModuleInfo时, 指定的module是overlay特征module。 + +**可能原因**
+指定的module是overlay特征的module。 + +**处理步骤**
+检查指定的module是否为overlay特征的module。 + +## 17700035 指定的应用只包含overlay特征的module + +**错误信息**
+The specified bundle is overlay bundle. + +**错误描述**
+查询指定应用的目标module所关联的overlayModuleInfo时, 指定的应用只包含overlay特征的module。 + +**可能原因**
+指定的应用只包含overlay特征的module。 + +**处理步骤**
+检查指定的应用是否只包含overlay特征的module。 + \ No newline at end of file diff --git a/zh-cn/application-dev/website.md b/zh-cn/application-dev/website.md index cc82becbf18818bce250dc445b5837674685fc3c..44a0cae7aee4f5bee0a29f4204b5abeca3521270 100644 --- a/zh-cn/application-dev/website.md +++ b/zh-cn/application-dev/website.md @@ -377,7 +377,7 @@ - 文件访问框架 - [用户公共文件访问框架概述](file-management/file-access-framework-overview.md) - [文件选择器使用指导](file-management/filepicker-guidelines.md) - - 任务管理 + - 后台任务管理 - 后台任务 - [后台任务概述](task-management/background-task-overview.md) - [短时任务开发指导](task-management/transient-task-dev-guide.md) @@ -932,6 +932,15 @@ - [CommonEventPublishData](reference/apis/js-apis-inner-commonEvent-commonEventPublishData.md) - [CommonEventSubscriber](reference/apis/js-apis-inner-commonEvent-commonEventSubscriber.md) - [CommonEventSubscribeInfo](reference/apis/js-apis-inner-commonEvent-commonEventSubscribeInfo.md) + - notification + - [NotificationActionButton](reference/apis/js-apis-inner-notification-notificationActionButton.md) + - [NotificationCommonDef](reference/apis/js-apis-inner-notification-notificationCommonDef.md) + - [NotificationContent](reference/apis/js-apis-inner-notification-notificationContent.md) + - [NotificationFlags](reference/apis/js-apis-inner-notification-notificationFlags.md) + - [NotificationRequest](reference/apis/js-apis-inner-notification-notificationRequest.md) + - [NotificationSlot](reference/apis/js-apis-inner-notification-notificationSlot.md) + - [NotificationTemplate](reference/apis/js-apis-inner-notification-notificationTemplate.md) + - [NotificationUserInput](reference/apis/js-apis-inner-notification-notificationUserInput.md) - 包管理 - [@ohos.bundle.appControl (appControl模块)](reference/apis/js-apis-appControl.md) - [@ohos.bundle.bundleManager (bundleManager模块)](reference/apis/js-apis-bundleManager.md) @@ -986,7 +995,7 @@ - [@ohos.i18n (国际化-I18n)](reference/apis/js-apis-i18n.md) - [@ohos.intl (国际化-Intl)](reference/apis/js-apis-intl.md) - [@ohos.resourceManager (资源管理)](reference/apis/js-apis-resource-manager.md) - - 资源调度 + - 后台任务 - [@ohos.distributedMissionManager (分布式任务管理)](reference/apis/js-apis-distributedMissionManager.md) - [@ohos.reminderAgentManager (后台代理提醒)](reference/apis/js-apis-reminderAgentManager.md) - [@ohos.resourceschedule.backgroundTaskManager (后台任务管理)](reference/apis/js-apis-resourceschedule-backgroundTaskManager.md) @@ -1234,8 +1243,9 @@ - 资源管理 - [I18n错误码](reference/errorcodes/errorcode-i18n.md) - [资源管理错误码](reference/errorcodes/errorcode-resource-manager.md) - - 资源调度 + - 后台任务 - [backgroundTaskManager错误码](reference/errorcodes/errorcode-backgroundTaskMgr.md) + - [DeviceUsageStatistics错误码](reference/errorcodes/errorcode-DeviceUsageStatistics.md) - [reminderAgentManager错误码](reference/errorcodes/errorcode-reminderAgentManager.md) - [workScheduler错误码](reference/errorcodes/errorcode-workScheduler.md) - 安全 @@ -1285,7 +1295,6 @@ - [系统参数错误码](reference/errorcodes/errorcode-system-parameterV9.md) - [USB服务错误码](reference/errorcodes/errorcode-usb.md) - [升级错误码](reference/errorcodes/errorcode-update.md) - - [DeviceUsageStatistics错误码](reference/errorcodes/errorcode-DeviceUsageStatistics.md) - 定制管理 - [企业设备管理错误码](reference/errorcodes/errorcode-enterpriseDeviceManager.md) - 语言基础类库