diff --git a/en/application-dev/file-management/app-fs-space-statistics.md b/en/application-dev/file-management/app-fs-space-statistics.md
index 6854af8c857173db01bcaf730722630c4bffba1b..9596834a5b5bda14e810061817dcdf55da3aaf3a 100644
--- a/en/application-dev/file-management/app-fs-space-statistics.md
+++ b/en/application-dev/file-management/app-fs-space-statistics.md
@@ -10,7 +10,7 @@ For details about the APIs, see [ohos.file.statvfs](../reference/apis/js-apis-fi
| Module| API| Description|
| -------- | -------- | -------- |
-| \@ohos.file.storageStatistic | getCurrentBundleStats | Obtains the storage space of the current application, in bytes.|
+| \@ohos.file.storageStatistics | getCurrentBundleStats | Obtains the storage space of the current application, in bytes.|
| \@ohos.file.statvfs | getFreeSize | Obtains the free space of a file system, in bytes.|
| \@ohos.file.statvfs | getTotalSize | Obtains the total space of a file system, in bytes.|
diff --git a/en/application-dev/media/Readme-EN.md b/en/application-dev/media/Readme-EN.md
index a9fe35694fd7458fe31cf6a5d2473f5d93757bd1..d4a62d39749fecdbab37c7646c3f11a35d0e4b45 100755
--- a/en/application-dev/media/Readme-EN.md
+++ b/en/application-dev/media/Readme-EN.md
@@ -12,6 +12,7 @@
- [Using TonePlayer for Audio Playback (for System Applications Only)](using-toneplayer-for-playback.md)
- [Audio Playback Concurrency Policy](audio-playback-concurrency.md)
- [Volume Management](volume-management.md)
+ - [Audio Effect Management](audio-effect-management.md)
- [Audio Playback Stream Management](audio-playback-stream-management.md)
- [Audio Output Device Management](audio-output-device-management.md)
- [Distributed Audio Playback (for System Applications Only)](distributed-audio-playback.md)
@@ -54,7 +55,8 @@
- [Image Overview](image-overview.md)
- [Image Decoding](image-decoding.md)
- Image Processing
- - [Image Transformation](image-transformation.md)
+ - [Image Transformation (ArkTS)](image-transformation.md)
+ - [Image Transformation (Native)](image-transformation-native.md)
- [Pixel Map Operation](image-pixelmap-operation.md)
- [Image Encoding](image-encoding.md)
- [Image Tool](image-tool.md)
diff --git a/en/application-dev/media/audio-effect-management.md b/en/application-dev/media/audio-effect-management.md
new file mode 100644
index 0000000000000000000000000000000000000000..7c838428c90a767c8ecc259a06eeec446f165eda
--- /dev/null
+++ b/en/application-dev/media/audio-effect-management.md
@@ -0,0 +1,118 @@
+# Audio Effect Management
+
+You can manage the audio effect of a specific playback instance, for example, obtaining or setting the audio effect mode of the current audio playback stream. You can also obtain the global audio effect, that is, the audio effect mode corresponding to a specific audio content type (specified by **ContentType**) and audio stream usage (specified by **StreamUsage**).
+
+## Managing the Audio Effect of a Playback Instance
+
+You can obtain and set the audio effect mode, which can be disabled (**EFFECT_NONE**) or default (**EFFECT_DEFAULT**), of the current audio playback stream. In default audio effect mode, the audio effect of the corresponding scenario is automatically loaded based on **ContentType** and **StreamUsage** of the audio stream.
+
+### Creating a Playback Instance
+
+Before obtaining or setting the audio effect mode, you must call **createAudioRenderer(options: AudioRendererOptions)** to create an **AudioRenderer** instance.
+
+1. Import the audio module.
+
+ ```js
+ import audio from '@ohos.multimedia.audio';
+ ```
+
+2. Configure audio rendering parameters and create an **AudioRenderer** instance. For details about the audio rendering parameters, see [AudioRendererOptions](../reference/apis/js-apis-audio.md#audiorendereroptions8). For the **AudioRenderer** instance, the audio effect mode **EFFECT_DEFAULT** is used by default.
+
+ ```js
+ 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
+ };
+
+ let audioRendererOptions = {
+ streamInfo: audioStreamInfo,
+ rendererInfo: audioRendererInfo
+ };
+
+ audio.createAudioRenderer(audioRendererOptions, (err, data) => {
+ if (err) {
+ console.error(`Invoke createAudioRenderer failed, code is ${err.code}, message is ${err.message}`);
+ return;
+ } else {
+ console.info('Invoke createAudioRenderer succeeded.');
+ let audioRenderer = data;
+ }
+ });
+ ```
+
+### Obtaining the Audio Effect Mode of the Playback Instance
+
+ ```js
+ audioRenderer.getAudioEffectMode((err, effectmode) => {
+ if (err) {
+ console.error(`Failed to get params, code is ${err.code}, message is ${err.message}`);
+ return;
+ } else {
+ console.info(`getAudioEffectMode: ${effectmode}`);
+ }
+ });
+ ```
+
+### Setting an Audio Effect Mode for the Playback Instance
+
+Disable the system audio effect.
+
+ ```js
+ audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_NONE, (err) => {
+ if (err) {
+ console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`);
+ return;
+ } else {
+ console.info('Callback invoked to indicate a successful audio effect mode setting.');
+ }
+ });
+ ```
+
+Enable the default system audio effect.
+
+ ```js
+ audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err) => {
+ if (err) {
+ console.error(`Failed to set params, code is ${err.code}, message is ${err.message}`);
+ return;
+ } else {
+ console.info('Callback invoked to indicate a successful audio effect mode setting.');
+ }
+ });
+ ```
+
+## Obtaining the Global Audio Effect Mode
+
+You can obtain the global audio effect mode corresponding to a specific audio content type (specified by **ContentType**) and audio stream usage (specified by **StreamUsage**).
+For an audio playback application, pay attention to the audio effect mode used by the audio stream of the application and perform corresponding operations. For example, for a music application, select the audio effect mode for the music scenario. Before obtaining the global audio effect mode, call **getStreamManager()** to create an **AudioStreamManager** instance.
+
+### Creating an AudioStreamManager Instance
+
+Create an **AudioStreamManager** instance. Before using **AudioStreamManager** APIs, you must use **getStreamManager()** to create an **AudioStreamManager** instance.
+
+ ```js
+ import audio from '@ohos.multimedia.audio';
+ let audioManager = audio.getAudioManager();
+ let audioStreamManager = audioManager.getStreamManager();
+ ```
+
+### Querying the Audio Effect Mode of the Corresponding Scenario
+
+ ```js
+ audioStreamManager.getAudioEffectInfoArray(audio.ContentType.CONTENT_TYPE_MUSIC, audio.StreamUsage.STREAM_USAGE_MEDIA, async (err, audioEffectInfoArray) => {
+ if (err) {
+ console.error(`Failed to get effect info array`);
+ return;
+ } else {
+ console.info(`getAudioEffectInfoArray: ${audioEffectInfoArray}`);
+ }
+ });
+ ```
diff --git a/en/application-dev/media/audio-output-device-management.md b/en/application-dev/media/audio-output-device-management.md
index ad20276c60ce7e535f99778e18d04e4e50e29dc6..983a439c5796f30af220ea2b373c7f0b4856c2ea 100644
--- a/en/application-dev/media/audio-output-device-management.md
+++ b/en/application-dev/media/audio-output-device-management.md
@@ -45,16 +45,14 @@ Set a listener to listen for changes of the device connection state. When a devi
```ts
// Listen for connection state changes of audio devices.
audioRoutingManager.on('deviceChange', audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (deviceChanged) => {
- console.info('device change type: ' + deviceChanged.type); // Device connection state change. The value 0 means that the device is connected and 1 means that the device is disconnected.
- console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length);
- console.info('device change descriptor: ' + deviceChanged.deviceDescriptors[0].deviceRole); // Device role.
- console.info('device change descriptor: ' + deviceChanged.deviceDescriptors[0].deviceType); // Device type.
+ console.info(`device change type : ${deviceChanged.type}`); // Device connection state change. The value 0 means that the device is connected and 1 means that the device is disconnected.
+ console.info(`device descriptor size : ${deviceChanged.deviceDescriptors.length}`);
+ console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceRole}`); // Device role.
+ console.info(`device change descriptor : ${deviceChanged.deviceDescriptors[0].deviceType}`); // Device type.
});
// Cancel the listener for the connection state changes of audio devices.
-audioRoutingManager.off('deviceChange', (deviceChanged) => {
- console.info('Should be no callback.');
-});
+audioRoutingManager.off('deviceChange');
```
## Selecting an Audio Output Device (for System Applications only)
@@ -88,3 +86,46 @@ async function selectOutputDevice(){
});
}
```
+
+## Obtaining Information About the Output Device with the Highest Priority
+
+Call **getPreferOutputDeviceForRendererInfo()** to obtain the output device with the highest priority.
+
+> **NOTE**
+>
+> The output device with the highest priority is the device that will output audio.
+
+```ts
+let rendererInfo = {
+ content : audio.ContentType.CONTENT_TYPE_MUSIC,
+ usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
+ rendererFlags : 0,
+}
+
+async function getPreferOutputDeviceForRendererInfo() {
+ audioRoutingManager.getPreferOutputDeviceForRendererInfo(rendererInfo).then((desc) => {
+ console.info(`device descriptor: ${desc}`);
+ }).catch((err) => {
+ console.error(`Result ERROR: ${err}`);
+ })
+}
+```
+
+## Listening for Changes of the Output Device with the Highest Priority
+
+```ts
+let rendererInfo = {
+ content : audio.ContentType.CONTENT_TYPE_MUSIC,
+ usage : audio.StreamUsage.STREAM_USAGE_MEDIA,
+ rendererFlags : 0,
+}
+
+// Listen for changes of the output device with the highest priority.
+audioRoutingManager.on('preferOutputDeviceChangeForRendererInfo', rendererInfo, (desc) => {
+ console.info(`device change descriptor : ${desc.deviceDescriptors[0].deviceRole}`); // Device role.
+ console.info(`device change descriptor : ${desc.deviceDescriptors[0].deviceType}`); // Device type.
+});
+
+// Cancel the listening for changes of the output device with the highest priority.
+audioRoutingManager.off('preferOutputDeviceChangeForRendererInfo');
+```
diff --git a/en/application-dev/media/image-transformation-native.md b/en/application-dev/media/image-transformation-native.md
new file mode 100644
index 0000000000000000000000000000000000000000..06d342d8092744d7c565d02d0e62c13b71cc12d2
--- /dev/null
+++ b/en/application-dev/media/image-transformation-native.md
@@ -0,0 +1,241 @@
+# Image Transformation (Native)
+
+You will learn how to use native image APIs to process images, including cropping, rotating, scaling, flipping, translating, and opacity setting.
+
+## How to Develop
+
+
+**Adding Dependencies**
+
+Open the **src/main/cpp/CMakeLists.txt** file of the native project, add **libpixelmap_ndk.z.so** of the image and **libhilog_ndk.z.so** of the log to the **target_link_libraries** dependency.
+
+ ```txt
+ target_link_libraries(entry PUBLIC libace_napi.z.so libhilog_ndk.z.so libpixelmap_ndk.z.so)
+ ```
+
+**Adding API Mappings**
+
+Open the **src/main/cpp/hello.cpp** file and add the following API mappings to the **Init** function:
+
+ ```c++
+ EXTERN_C_START
+ static napi_value Init(napi_env env, napi_value exports)
+ {
+ napi_property_descriptor desc[] = {
+ { "createPixelMap", nullptr, CreatePixelMap, nullptr, nullptr, nullptr, napi_default, nullptr },
+ { "createAlphaPixelMap", nullptr, CreateAlphaPixelMap, nullptr, nullptr, nullptr, napi_default, nullptr },
+ { "transform", nullptr, Transform, nullptr, nullptr, nullptr, napi_default, nullptr }
+ };
+
+ napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
+ return exports;
+ }
+ EXTERN_C_END
+ ```
+
+
+**Calling the Native APIs**
+
+For details about the APIs, see [Image API Reference](../reference/native-apis/image.md).
+
+Obtain the JS resource object from the **hello.cpp** file and convert it to a native resource object. Then you can call native APIs. The sample code is as follows:
+
+1. Create a **PixelMap** object based on a pixel array.
+
+ ```c++
+ // Create a PixelMap object.
+ napi_value CreatePixelMap(napi_env env, napi_callback_info info)
+ {
+ napi_value udfVar = nullptr;
+ napi_value thisVar = nullptr;
+ napi_value argValue[2] = {0};
+ size_t argCount = 2;
+
+ void* buffer = nullptr;
+ size_t bufferSize = 0;
+ struct OhosPixelMapCreateOps createOps;
+ napi_value pixelmap = nullptr;
+
+ napi_get_undefined(env, &udfVar);
+ napi_get_cb_info(env, info, &argCount, argValue, &thisVar, nullptr);
+ if (napi_get_arraybuffer_info(env, argValue[0], &buffer, &bufferSize) != napi_ok ||
+ buffer == nullptr || bufferSize == 0) {
+ return udfVar;
+ }
+
+ createOps.width = 4;
+ createOps.height = 6;
+ createOps.pixelFormat = 4;
+ createOps.alphaType = 0;
+ int32_t res = OH_PixelMap_CreatePixelMap(env, createOps, (uint8_t *)buffer, bufferSize, &pixelmap);
+ if (res != OHOS_IMAGE_RESULT_SUCCESS || pixelmap == nullptr) {
+ return udfVar;
+ }
+ return pixelmap;
+ }
+
+ // Create a PixelMap object that contains only the alpha channel.
+ napi_value CreateAlphaPixelMap(napi_env env, napi_callback_info info)
+ {
+ napi_value udfVar = nullptr;
+ napi_value thisVar = nullptr;
+ napi_value argValue[1] = {0};
+ size_t argCount = 1;
+
+ napi_value alphaPixelmap = nullptr;
+
+ napi_get_undefined(env, &udfVar);
+
+ if (napi_get_cb_info(env, info, &argCount, argValue, &thisVar, nullptr) != napi_ok ||
+ argCount < 1 || argValue[0] == nullptr) {
+ return udfVar;
+ }
+ int32_t res = OH_PixelMap_CreateAlphaPixelMap(env, argValue[0], &alphaPixelmap);
+ if (res != OHOS_IMAGE_RESULT_SUCCESS || alphaPixelmap == nullptr) {
+ return udfVar;
+ }
+ return alphaPixelmap;
+ }
+ ```
+
+2. Perform image transformation. For details about the operation, read the comments in the sample code below.
+
+ ```c++
+ napi_value Transform(napi_env env, napi_callback_info info)
+ {
+ napi_value thisVar = nullptr;
+ napi_value argValue[1] = {0};
+ size_t argCount = 1;
+
+ if (napi_get_cb_info(env, info, &argCount, argValue, &thisVar, nullptr) != napi_ok ||
+ argCount < 1 || argValue[0] == nullptr) {
+ return nullptr;
+ }
+ napi_value result = nullptr;
+ napi_get_undefined(env, &result);
+
+ NativePixelMap* native = OH_PixelMap_InitNativePixelMap(env, argValue[0]);
+ if (native == nullptr) {
+ return result;
+ }
+
+ // Obtain image information.
+ struct OhosPixelMapInfo pixelmapInfo;
+ OH_PixelMap_GetImageInfo(native, &pixelmapInfo);
+
+ // Obtain the number of bytes per row of the PixelMap object.
+ int32_t rowBytes;
+ OH_PixelMap_GetBytesNumberPerRow(native, &rowBytes);
+
+ // Check whether the PixelMap object is editable.
+ int32_t editable = 0;
+ OH_PixelMap_GetIsEditable(native, &editable);
+
+ // Check whether the PixelMap object supports alpha channels.
+ int32_t supportAlpha = 0;
+ OH_PixelMap_IsSupportAlpha(native, &supportAlpha);
+
+ // Set an alpha channel for the PixelMap object.
+ int32_t alphaAble = 0;
+ OH_PixelMap_SetAlphaAble(native, alphaAble);
+
+ // Obtain the pixel density of the PixelMap object.
+ int32_t densityG;
+ OH_PixelMap_GetDensity(native, &densityG);
+
+ // Set the pixel density for the PixelMap object.
+ int32_t densityS = 100;
+ OH_PixelMap_SetDensity(native, densityS);
+
+ // Set the opacity for the PixelMap object.
+ float opacity = 0.5;
+ OH_PixelMap_SetOpacity(native, opacity);
+
+ // Scale the image.
+ // scaleX: The width of the image after scaling is 0.5 of the original width.
+ // scaleY: The height of the image after scaling is 0.5 of the original height.
+ float scaleX = 0.5;
+ float scaleY = 0.5;
+ OH_PixelMap_Scale(native, scaleX, scaleY);
+
+ // Translate the image.
+ // translateX: Translate the image by 50 units downwards.
+ // translateY: Translate the image by 50 units rightwards.
+ float translateX = 50;
+ float translateY = 50;
+ OH_PixelMap_Translate(native, translateX, translateY);
+
+ // Rate the image clockwise by 90°.
+ float angle = 90;
+ OH_PixelMap_Rotate(native, angle);
+
+ // Flip the image.
+ // flipX: whether to flip the image horizontally. The value 1 means to flip the image and 0 means the opposite.
+ // flipY: whether to flip the image vertically. The value 1 means to flip the image and 0 means the opposite.
+ int32_t flipX = 0;
+ int32_t flipY = 1;
+ OH_PixelMap_Flip(native, flipX, flipY);
+
+ // Crop the image.
+ // cropX: x-axis coordinate of the start point for cropping (0).
+ // cropY: y-axis coordinate of the start point for cropping (0).
+ // cropH: height after cropping (10), cropping from top to bottom.
+ // cropW: width after cropping (10), cropping from left to right.
+ int32_t cropX = 1;
+ int32_t cropY = 1;
+ int32_t cropW = 10;
+ int32_t cropH = 10;
+ OH_PixelMap_Crop(native, cropX, cropY, cropW, cropH);
+
+ uint8_t* pixelAddr = nullptr;
+ // Obtain the memory address of the PixelMap object and lock the memory.
+ OH_PixelMap_AccessPixels(native, &pixelAddr);
+ // Unlock the memory of the PixelMap object.
+ OH_PixelMap_UnAccessPixels(native);
+
+ return result;
+ }
+ ```
+
+**Calling APIs on the JS Side**
+
+1. Open **src\main\ets\pages\index.ets**, and import **libentry.so**.
+
+2. Call the native APIs and pass in the JS resource object. The sample code is as follows:
+
+ ```js
+ import testNapi from 'libentry.so'
+ import image from '@ohos.multimedia.image'
+
+ @Entry
+ @Component
+ struct Index {
+ @State _pixelMap: image.PixelMap = undefined;
+ build() {
+ Row() {
+ Column() {
+ Button("PixelMap")
+ .width(100)
+ .height(100)
+ .onClick(() => {
+ const color = new ArrayBuffer(96);
+ var bufferArr = new Uint8Array(color);
+ for (var i = 0; i < bufferArr.length; i++) {
+ bufferArr[i] = 0x80;
+ }
+
+ this._pixelMap = testNapi.createPixelMap(color);
+ testNapi.transform(this._pixelMap);
+ })
+
+ Image(this._pixelMap)
+ .width(500)
+ .height(500)
+ .objectFit(ImageFit.Cover)
+ }
+ .width('100%')
+ }
+ .height('100%')
+ }
+ }
+ ```
diff --git a/en/application-dev/media/image-transformation.md b/en/application-dev/media/image-transformation.md
index 8965d409dda0fa9271feebb34b3b936c4b624bc6..c7bc907c7628ef85d45259742d2c9179e6c52dfc 100644
--- a/en/application-dev/media/image-transformation.md
+++ b/en/application-dev/media/image-transformation.md
@@ -1,4 +1,4 @@
-# Image Transformation
+# Image Transformation (ArkTS)
Image processing refers to a series of operations performed on the pixel map, such as obtaining image information, cropping, scaling, translating, rotating, flipping, setting opacity, and reading and writing pixel data. These operations can be classified into image transformation and [pixel map operation](image-pixelmap-operation.md). This topic describes the image transformation operations that you can perform.
@@ -51,7 +51,7 @@ Read [Image](../reference/apis/js-apis-image.md#pixelmap7) for APIs related to i
```
// Translate the image by 100 units downwards.
- // Translate the image by 100 units to the right.
+ // Translate the image by 100 units rightwards.
pixelMap.translate(100, 100);
```
diff --git a/en/application-dev/quick-start/multi-hap-principles.md b/en/application-dev/quick-start/multi-hap-principles.md
index 9268c0ddafacf26962d8a3d46d9f2adf98e6aac4..82a4e6c8e2546ec80d6b27e410524cffbd7848cc 100644
--- a/en/application-dev/quick-start/multi-hap-principles.md
+++ b/en/application-dev/quick-start/multi-hap-principles.md
@@ -4,7 +4,7 @@
The multi-HAP mechanism is used to facilitate modular management for developers. There is no one-to-one mapping between the HAP and the running process of the application. The detailed running mechanism is as follows:
-- By default, all UIAbility, ServiceExtensionAbility, and DataShareExtensionAbility components of an application (with the same bundle name) run in the same independent process, and other ExtensionAbility components of the same type run in separate processes.
+- By default, all UIAbility, ServiceExtensionAbility, and DataShareExtensionAbility components of an application (with the same bundle name) run in the same independent process (known as the main process), and other ExtensionAbility components of the same type run in separate processes.
- The HAP file supports the process configuration through the **process** tag in the **module.json5** (stage model) or **config.json** (FA model) file. This feature is supported only by system applications. If **process** is configured for an HAP file, all components of the HAP file run in an independent process. Multiple HAP files can be configured with the same process, in which case the HAP files run in the same process. For details about the process configuration, see [module.json5 Configuration File](module-configuration-file.md).
diff --git a/en/application-dev/quick-start/shared-guide.md b/en/application-dev/quick-start/shared-guide.md
index 7d2ddb814e8f737293050c34fdfcd8b8b43468e1..040f8dfd1b861e92a8f2cf9644771c203bd67422 100644
--- a/en/application-dev/quick-start/shared-guide.md
+++ b/en/application-dev/quick-start/shared-guide.md
@@ -1,6 +1,6 @@
# Shared Package Overview
-OpenHarmony provides two types of shared packages: [Harmony Achive (HAR)](har-package.md) static shared package and Harmony Shared Package (HSP) dynamic shared package.
+OpenHarmony provides two types of shared packages: [Harmony Archive (HAR)](har-package.md) static shared package and Harmony Shared Package (HSP) dynamic shared package.
Both the HAR and HSP are used to share code and resources and can contain code, C++ libraries, resources, and configuration files. The biggest differences between them are as follows: The code and resources in the HAR are compiled with the invoking module, and if there are multiple invoking modules, the build product contains multiple copies of the same code and resources; the code and resources in the HSP can be compiled independently, and the build product contains only one copy of the code and resources.
diff --git a/en/application-dev/reference/apis/js-apis-audio.md b/en/application-dev/reference/apis/js-apis-audio.md
index 4301f1019a2b6665a3ee039550146bee70e97be0..5fba4ed01ab7052e8a3ac220bad7d84fd4b5d9e5 100644
--- a/en/application-dev/reference/apis/js-apis-audio.md
+++ b/en/application-dev/reference/apis/js-apis-audio.md
@@ -486,8 +486,8 @@ Enumerates the audio channels.
| Name | Value | Description |
| --------- | -------- | -------- |
-| CHANNEL_1 | 0x1 << 0 | Channel 1. |
-| CHANNEL_2 | 0x1 << 1 | Channel 2. |
+| CHANNEL_1 | 0x1 << 0 | Channel 1.|
+| CHANNEL_2 | 0x1 << 1 | Channel 2.|
## AudioSamplingRate8+
@@ -545,7 +545,7 @@ Enumerates the audio stream usage.
| ------------------------------------------| ------ | ---------- |
| STREAM_USAGE_UNKNOWN | 0 | Unknown usage.|
| STREAM_USAGE_MEDIA | 1 | Used for media. |
-| STREAM_USAGE_VOICE_COMMUNICATION | 2 | Used for voice communication.|
+| STREAM_USAGE_VOICE_COMMUNICATION | 2 | Used for voice communication.|
| STREAM_USAGE_VOICE_ASSISTANT9+ | 3 | Used for voice assistant.|
| STREAM_USAGE_ALARM10+ | 4 | Used for alarming. |
| STREAM_USAGE_NOTIFICATION_RINGTONE | 6 | Used for notification.|
@@ -580,6 +580,17 @@ Enumerates the audio states.
| STATE_RELEASED | 4 | Released. |
| STATE_PAUSED | 5 | Paused. |
+## AudioEffectMode10+
+
+Enumerates the audio effect modes.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+| Name | Value | Description |
+| ------------------ | ------ | ---------- |
+| EFFECT_NONE | 0 | The audio effect is disabled.|
+| EFFECT_DEFAULT | 1 | The default audio effect is used.|
+
## AudioRendererRate8+
Enumerates the audio renderer rates.
@@ -2023,7 +2034,7 @@ Currently, when multiple **AudioManager** instances are used in a single process
| Name | Type | Mandatory| Description |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | Yes | Event type. The value **'volumeChange'** means the system volume change event, which is triggered when a system volume change is detected.|
-| callback | Callback<[VolumeEvent](#volumeevent9)> | Yes | Callback used to return the system volume change event. |
+| callback | Callback<[VolumeEvent](#volumeevent9)> | Yes | Callback used to return the result. |
**Example**
@@ -2054,7 +2065,7 @@ Subscribes to ringer mode change events.
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | Yes | Event type. The value **'ringerModeChange'** means the ringer mode change event, which is triggered when a ringer mode change is detected.|
-| callback | Callback<[AudioRingMode](#audioringmode)> | Yes | Callback used to return the ringer mode change event. |
+| callback | Callback<[AudioRingMode](#audioringmode)> | Yes | Callback used to return the result. |
**Example**
@@ -2116,9 +2127,7 @@ Unsubscribes from device change events.
**Example**
```js
-audioManager.off('deviceChange', (deviceChanged) => {
- console.info('Should be no callback.');
-});
+audioManager.off('deviceChange');
```
### on('interrupt')
@@ -2329,7 +2338,7 @@ Subscribes to system volume change events. This API uses an asynchronous callbac
| Name | Type | Mandatory| Description |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | Yes | Event type. The value **'volumeChange'** means the system volume change event, which is triggered when the system volume changes.|
-| callback | Callback<[VolumeEvent](#volumeevent9)> | Yes | Callback used to return the system volume change event. |
+| callback | Callback<[VolumeEvent](#volumeevent9)> | Yes | Callback used to return the result. |
**Error codes**
@@ -2839,7 +2848,7 @@ Subscribes to ringer mode change events.
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | Yes | Event type. The value **'ringerModeChange'** means the ringer mode change event, which is triggered when a ringer mode change is detected.|
-| callback | Callback<[AudioRingMode](#audioringmode)> | Yes | Callback used to return the system volume change event. |
+| callback | Callback<[AudioRingMode](#audioringmode)> | Yes | Callback used to return the result. |
**Error codes**
@@ -3397,6 +3406,68 @@ audioStreamManager.isActive(audio.AudioVolumeType.MEDIA).then((value) => {
});
```
+### getAudioEffectInfoArray10+
+
+getAudioEffectInfoArray(content: ContentType, usage: StreamUsage, callback: AsyncCallback<AudioEffectInfoArray>): void
+
+Obtains information about the sound effect mode in use. This API uses an asynchronous callback to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ----------------------------------- | -------- | --------------------------- |
+| content | [ContentType](#contenttype) | Yes | Audio content type. |
+| usage | [StreamUsage](#streamusage) | Yes | Audio stream usage. |
+| callback | AsyncCallback<[AudioEffectInfoArray](#audioeffectinfoarray10)> | Yes | Callback used to return the information obtained.|
+
+**Example**
+
+```js
+audioStreamManager.getAudioEffectInfoArray(audio.ContentType.CONTENT_TYPE_MUSIC, audio.StreamUsage.STREAM_USAGE_MEDIA, async (err, audioEffectInfoArray) => {
+ console.info('getAudioEffectInfoArray **** Get Callback Called ****');
+ if (err) {
+ console.error(`getAudioEffectInfoArray :ERROR: ${err}`);
+ return;
+ } else {
+ console.info(`The contentType of ${CONTENT_TYPE_MUSIC} and the streamUsage of ${STREAM_USAGE_MEDIA} 's effect modes are: ${audioEffectInfoArray}`);
+ }
+});
+```
+
+### getAudioEffectInfoArray10+
+
+getAudioEffectInfoArray(content: ContentType, usage: StreamUsage): Promise<AudioEffectInfoArray>
+
+Obtains information about the sound effect mode in use. This API uses a promise to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ----------------------------------- | -------- | --------------------------- |
+| content | [ContentType](#contenttype) | Yes | Audio content type. |
+| usage | [StreamUsage](#streamusage) | Yes | Audio stream usage. |
+
+**Return value**
+
+| Type | Description |
+| --------------------------------------------------------------------------| --------------------------------------- |
+| Promise<[AudioEffectInfoArray](#audioeffectinfoarray10)> | Promise used to return the information obtained. |
+
+**Example**
+
+```js
+audioStreamManager.getAudioEffectInfoArray().then((audioEffectInfoArray) => {
+ console.info(`getAudioEffectInfoArray ######### Get Promise is called ##########`);
+ console.info(`The contentType of ${CONTENT_TYPE_MUSIC} and the streamUsage of ${STREAM_USAGE_MEDIA} 's effect modes are: ${audioEffectInfoArray}`);
+}).catch((err) => {
+ console.error(`getAudioEffectInfoArray :ERROR: ${err}`);
+});
+```
+
## AudioRoutingManager9+
Implements audio routing management. Before calling any API in **AudioRoutingManager**, you must use [getRoutingManager](#getroutingmanager9) to obtain an **AudioRoutingManager** instance.
@@ -3517,9 +3588,7 @@ For details about the error codes, see [Audio Error Codes](../errorcodes/errorco
**Example**
```js
-audioRoutingManager.off('deviceChange', (deviceChanged) => {
- console.info('Should be no callback.');
-});
+audioRoutingManager.off('deviceChange');
```
### selectInputDevice9+
@@ -4071,9 +4140,7 @@ For details about the error codes, see [Audio Error Codes](../errorcodes/errorco
**Example**
```js
-audioRoutingManager.off('preferOutputDeviceChangeForRendererInfo', () => {
- console.info('Should be no callback.');
-});
+audioRoutingManager.off('preferOutputDeviceChangeForRendererInfo');
```
## AudioRendererChangeInfoArray9+
@@ -4191,6 +4258,10 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
});
```
+## AudioEffectInfoArray10+
+
+Defines an array that contains the audio effect mode corresponding to a specific audio content type (specified by **ContentType**) and audio stream usage (specified by **StreamUsage**). The [AudioEffectMode](#audioeffectmode10) array is read-only.
+
## AudioDeviceDescriptors
Defines an [AudioDeviceDescriptor](#audiodevicedescriptor) array, which is read-only.
@@ -4434,6 +4505,113 @@ audioRenderer.getAudioStreamId().then((streamid) => {
});
```
+### setAudioEffectMode10+
+
+setAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback\): void
+
+Sets an audio effect mode. This API uses an asynchronous callback to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Parameters**
+
+| Name | Type | Mandatory| Description |
+| -------- | ---------------------------------------- | ---- | ------------------------ |
+| mode | [AudioEffectMode](#audioeffectmode10) | Yes | Audio effect mode to set. |
+| callback | AsyncCallback\ | Yes | Callback used to return the result. |
+
+**Example**
+
+```js
+audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT, (err) => {
+ if (err) {
+ console.error('Failed to set params');
+ } else {
+ console.info('Callback invoked to indicate a successful audio effect mode setting.');
+ }
+});
+```
+
+### setAudioEffectMode10+
+
+setAudioEffectMode(mode: AudioEffectMode): Promise\
+
+Sets an audio effect mode. This API uses a promise to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Parameters**
+
+| Name| Type | Mandatory| Description |
+| ------ | ---------------------------------------- | ---- | ------------ |
+| mode | [AudioEffectMode](#audioeffectmode10) | Yes | Audio effect mode to set.|
+
+**Return value**
+
+| Type | Description |
+| -------------- | ------------------------- |
+| Promise\ | Promise used to return the result.|
+
+**Example**
+
+```js
+audioRenderer.setAudioEffectMode(audio.AudioEffectMode.EFFECT_DEFAULT).then(() => {
+ console.info('setAudioEffectMode SUCCESS');
+}).catch((err) => {
+ console.error(`ERROR: ${err}`);
+});
+```
+
+### getAudioEffectMode10+
+
+getAudioEffectMode(callback: AsyncCallback\): void
+
+Obtains the audio effect mode in use. This API uses an asynchronous callback to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Parameters**
+
+| Name | Type | Mandatory| Description |
+| -------- | ------------------------------------------------------- | ---- | ------------------ |
+| callback | AsyncCallback<[AudioEffectMode](#audioeffectmode10)> | Yes | Callback used to return the audio effect mode.|
+
+**Example**
+
+```js
+audioRenderer.getAudioEffectMode((err, effectmode) => {
+ if (err) {
+ console.error('Failed to get params');
+ } else {
+ console.info(`getAudioEffectMode: ${effectmode}`);
+ }
+});
+```
+
+### getAudioEffectMode10+
+
+getAudioEffectMode(): Promise\
+
+Obtains the audio effect mode in use. This API uses a promise to return the result.
+
+**System capability**: SystemCapability.Multimedia.Audio.Renderer
+
+**Return value**
+
+| Type | Description |
+| ------------------------------------------------- | ------------------------- |
+| Promise<[AudioEffectMode](#audioeffectmode10)> | Promise used to return the audio effect mode.|
+
+**Example**
+
+```js
+audioRenderer.getAudioEffectMode().then((effectmode) => {
+ console.info(`getAudioEffectMode: ${effectmode}`);
+}).catch((err) => {
+ console.error(`ERROR: ${err}`);
+});
+```
+
### start8+
start(callback: AsyncCallback): void
diff --git a/en/application-dev/reference/apis/js-apis-bluetoothManager.md b/en/application-dev/reference/apis/js-apis-bluetoothManager.md
index 7ec3e7b70c6671ddf6b58313e1a7c86cb98e2978..cbbbfe87b558ec6a9c43d7e70ebd513c1454c1f9 100644
--- a/en/application-dev/reference/apis/js-apis-bluetoothManager.md
+++ b/en/application-dev/reference/apis/js-apis-bluetoothManager.md
@@ -259,6 +259,103 @@ try {
```
+## bluetoothManager.pairCredibleDevice10+
+
+pairCredibleDevice(deviceId: string, transport: BluetoothTransport, callback: AsyncCallback<void>): void
+
+Pairs a trusted remote device whose address is obtained in a non-Bluetooth scan mode (such as using NFC).
+
+**System API**: This is a system API.
+
+**Required permissions**: ohos.permission.DISCOVER_BLUETOOTH
+
+**System capability**: SystemCapability.Communication.Bluetooth.Core
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ------ | ---- | ----------------------------------- |
+| deviceId | string | Yes | Address of the remote device to pair, for example, XX:XX:XX:XX:XX:XX.|
+| transport | [BluetoothTransport](#bluetoothtransport10) | Yes | Device type, for example, a classic Bluetooth device or a Bluetooth low energy (BLE) device.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **undefined**. Otherwise, **err** is an error object. |
+
+**Error codes**
+
+For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md).
+
+| ID| Error Message|
+| -------- | ---------------------------- |
+|2900001 | Service stopped. |
+|2900003 | Bluetooth switch is off. |
+|2900099 | Operation failed. |
+
+**Example**
+
+```js
+try {
+ bluetoothManager.pairCredibleDevice("68:13:24:79:4C:8C", 1, err => {
+ if (err) {
+ console.error("errCode:" + err.code + ",errMessage:" + err.message);
+ return;
+ }
+ console.info("pairCredibleDevice,err:" + JSON.stringify(err));
+ });
+} catch (err) {
+ console.error("errCode:" + err.code + ",errMessage:" + err.message);
+}
+```
+
+
+## bluetoothManager.pairCredibleDevice10+
+
+pairCredibleDevice(deviceId: string, transport: BluetoothTransport): Promise<void>
+
+Pairs a trusted remote device whose address is obtained in a non-Bluetooth scan mode (such as using NFC).
+
+**System API**: This is a system API.
+
+**Required permissions**: ohos.permission.DISCOVER_BLUETOOTH
+
+**System capability**: SystemCapability.Communication.Bluetooth.Core
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ------ | ---- | ----------------------------------- |
+| deviceId | string | Yes | Address of the remote device to pair, for example, XX:XX:XX:XX:XX:XX.|
+| transport | [BluetoothTransport](#bluetoothtransport10) | Yes | Device type, for example, a classic Bluetooth device or a BLE device.|
+
+**Return value**
+
+| Type | Description |
+| ------------------------------------------------- | ------------------- |
+| Promise<void> | Promise used to return the result.|
+
+**Error codes**
+
+For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md).
+
+| ID| Error Message|
+| -------- | ---------------------------- |
+|2900001 | Service stopped. |
+|2900003 | Bluetooth switch is off. |
+|2900099 | Operation failed. |
+
+**Example**
+
+```js
+try {
+ bluetoothManager.pairCredibleDevice("68:13:24:79:4C:8C", 0).then(() => {
+ console.info("PairCredibleDevice");
+ }, err => {
+ console.error("PairCredibleDevice:errCode" + err.code + ",errMessage:" + err.message);
+ });
+} catch (err) {
+ console.error("errCode:" + err.code + ",errMessage:" + err.message);
+}
+```
+
+
## bluetoothManager.getProfileConnectionState
getProfileConnectionState(profileId: ProfileId): ProfileConnectionState
@@ -694,7 +791,7 @@ try {
```
-## bluetoothManager.setDevicePinCode10+
+## bluetoothManager.setDevicePinCode10+
setDevicePinCode(device: string, code: string): Promise<void>
@@ -985,7 +1082,7 @@ try {
on(type: "stateChange", callback: Callback<BluetoothState>): void
-Subscribes to the Bluetooth connection state change events.
+Subscribes to Bluetooth state events.
**Required permissions**: ohos.permission.USE_BLUETOOTH
@@ -1024,7 +1121,7 @@ try {
off(type: "stateChange", callback?: Callback<BluetoothState>): void
-Unsubscribes from the Bluetooth connection state change events.
+Unsubscribes from Bluetooth state events.
**Required permissions**: ohos.permission.USE_BLUETOOTH
@@ -1900,7 +1997,7 @@ Subscribes to the A2DP connection state change events.
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
| type | string | Yes | Event type. The value **connectionStateChange** indicates an A2DP connection state change event.|
-| callback | Callback<[StateChangeParam](#StateChangeParam)> | Yes | Callback invoked to return the A2DP connection state change event. |
+| callback | Callback<[StateChangeParam](#StateChangeParam)> | Yes | Callback invoked to return the A2DP connection state change event. |
**Return value**
@@ -1930,7 +2027,7 @@ Unsubscribes from the A2DP connection state change events.
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
| type | string | Yes | Event type. The value **connectionStateChange** indicates an A2DP connection state change event.|
-| callback | Callback<[StateChangeParam](#StateChangeParam)> | No | Callback for the A2DP connection state change event. |
+| callback | Callback<[StateChangeParam](#StateChangeParam)> | No | Callback for the A2DP connection state change event. |
**Return value**
@@ -2087,7 +2184,7 @@ Subscribes to the HFP connection state change events.
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
| type | string | Yes | Event type. The value **connectionStateChange** indicates an HFP connection state change event. |
-| callback | Callback<[StateChangeParam](#StateChangeParam)> | Yes | Callback invoked to return the HFP connection state change event. |
+| callback | Callback<[StateChangeParam](#StateChangeParam)> | Yes | Callback invoked to return the HFP connection state change event. |
**Example**
@@ -2114,7 +2211,7 @@ Unsubscribes from the HFP connection state change events.
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
| type | string | Yes | Event type. The value **connectionStateChange** indicates an HFP connection state change event. |
-| callback | Callback<[StateChangeParam](#StateChangeParam)> | No | Callback for the HFP connection state change event. |
+| callback | Callback<[StateChangeParam](#StateChangeParam)> | No | Callback for the HFP connection state change event. |
**Example**
@@ -2167,7 +2264,7 @@ For details about the error codes, see [Bluetooth Error Codes](../errorcodes/err
```js
try {
- let hidHostProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
+ let hidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHostProfile.connect('XX:XX:XX:XX:XX:XX');
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
@@ -2208,7 +2305,7 @@ For details about the error codes, see [Bluetooth Error Codes](../errorcodes/err
```js
try {
- let hidHostProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
+ let hidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHostProfile.disconnect('XX:XX:XX:XX:XX:XX');
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
@@ -2237,7 +2334,7 @@ Subscribes to the HidHost connection state change events.
function onReceiveEvent(data) {
console.info('hidHost state = '+ JSON.stringify(data));
}
-let hidHost = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
+let hidHost = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHost.on('connectionStateChange', onReceiveEvent);
```
@@ -2263,7 +2360,7 @@ Unsubscribes from the HidHost connection state change events.
function onReceiveEvent(data) {
console.info('hidHost state = '+ JSON.stringify(data));
}
-let hidHost = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
+let hidHost = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHost.on('connectionStateChange', onReceiveEvent);
hidHost.off('connectionStateChange', onReceiveEvent);
```
@@ -2307,7 +2404,7 @@ For details about the error codes, see [Bluetooth Error Codes](../errorcodes/err
```js
try {
- let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
+ let panProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.disconnect('XX:XX:XX:XX:XX:XX');
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
@@ -2336,7 +2433,7 @@ Subscribes to the PAN connection state change events.
function onReceiveEvent(data) {
console.info('pan state = '+ JSON.stringify(data));
}
-let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
+let panProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.on('connectionStateChange', onReceiveEvent);
```
@@ -2362,7 +2459,7 @@ Unsubscribes from the PAN connection state change events.
function onReceiveEvent(data) {
console.info('pan state = '+ JSON.stringify(data));
}
-let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
+let panProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.on('connectionStateChange', onReceiveEvent);
panProfile.off('connectionStateChange', onReceiveEvent);
```
@@ -2401,7 +2498,7 @@ For details about the error codes, see [Bluetooth Error Codes](../errorcodes/err
```js
try {
- let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
+ let panProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.setTethering(true);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
@@ -2429,7 +2526,7 @@ Obtains the network sharing status.
```js
try {
- let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
+ let panProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
let ret = panProfile.isTetheringOn();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
@@ -4355,6 +4452,7 @@ Defines the content of a BLE advertisement packet.
| serviceUuids | Array<string> | Yes | Yes | List of service UUIDs to broadcast.|
| manufactureData | Array<[ManufactureData](#manufacturedata)> | Yes | Yes | List of manufacturers to broadcast. |
| serviceData | Array<[ServiceData](#servicedata)> | Yes | Yes | List of service data to broadcast. |
+| includeDeviceName10+ | boolean | Yes | Yes | Whether the device name is contained. This parameter is optional. |
## ManufactureData
@@ -4391,7 +4489,7 @@ Defines the pairing request parameters.
| -------- | ------ | ---- | ---- | ----------- |
| deviceId | string | Yes | No | ID of the device to pair.|
| pinCode | string | Yes | No | Key for the device pairing. |
-| pinType10+ | [PinType](#pintype10) | Yes | No | Type of the device to pair. |
+| pinType10+ | [PinType](#pintype10) | Yes | No | Type of the device to pair.
This is a system API. |
## BondStateParam
@@ -4424,13 +4522,13 @@ Defines the properties of a GATT characteristic.
**System capability**: SystemCapability.Communication.Bluetooth.Core
-| Name | Type | Read-only | Mandatory | Description |
-| -------- | ------ | ---- | ---- | ----------- |
-| write10+ | boolean | Yes | Yes | Permits writes of the characteristic value (with a response).|
-| writeNoResponse10+ | boolean | Yes | Yes | Permits writes of the characteristic value (without a response).|
-| read10+ | boolean | Yes | Yes | Permits reads of the characteristic value.|
-| notify10+ | boolean | Yes | Yes | Permits notifications of the characteristic value.|
-| indicate10+ | boolean | Yes | Yes | Permits notifications of the characteristic value without acknowledgement.|
+| Name | Type | Mandatory | Description |
+| -------- | ------ |---- | ----------- |
+| write10+ | boolean | Yes | Permits writes of the characteristic value (with a response).|
+| writeNoResponse10+ | boolean | Yes | Permits writes of the characteristic value (without a response).|
+| read10+ | boolean | Yes | Permits reads of the characteristic value.|
+| notify10+ | boolean | Yes | Permits notifications of the characteristic value.|
+| indicate10+ | boolean | Yes | Permits notifications of the characteristic value without acknowledgement.|
## DeviceClass
@@ -4589,19 +4687,33 @@ Enumerates the Bluetooth profiles. API version 9 is added with **PROFILE_HID_HOS
| PROFILE_PAN_NETWORK | 7 | PAN profile. |
+## BluetoothTransport10+
+
+Enumerates the device types. The default device type is **TRANSPORT_BR_EDR**.
+
+**System capability**: SystemCapability.Communication.Bluetooth.Core
+
+| Name | Value | Description |
+| -------------------------------- | ------ | --------------- |
+| TRANSPORT_BR_EDR10+ | 0 | Classic Bluetooth (BR/EDR) device.|
+| TRANSPORT_LE10+ | 1 | BLE device. |
+
+
## PinType10+
Enumerates the Bluetooth pairing types.
+**System API**: This is a system API.
+
**System capability**: SystemCapability.Communication.Bluetooth.Core
| Name | Value | Description |
| -------------------------------- | ------ | --------------- |
-| PIN_TYPE_ENTER_PIN_CODE10+ | 0 | The user needs to enter the PIN displayed on the peer device.|
-| PIN_TYPE_ENTER_PASSKEY10+ | 1 | The user needs to enter the PASSKEY displayed on the peer device. |
-| PIN_TYPE_CONFIRM_PASSKEY10+ | 2 | The user needs to confirm the PASSKEY displayed on the local device. |
-| PIN_TYPE_NO_PASSKEY_CONSENT10+ | 3 | There is no PASSKEY, and the user needs to accept or reject the pairing request. |
-| PIN_TYPE_NOTIFY_PASSKEY10+ | 4 | The user needs to enter the PASSKEY displayed on the local device on the peer device. |
-| PIN_TYPE_DISPLAY_PIN_CODE10+ | 5 | The user needs to enter the PIN displayed on the peer device for Bluetooth 2.0 devices. |
-| PIN_TYPE_OOB_CONSENT10+ | 6 | The user needs to accept or reject the out of band (OOB) pairing request. |
-| PIN_TYPE_PIN_16_DIGITS10+ | 7 | The user needs to enter the 16-digit PIN displayed on the peer device. |
+| PIN_TYPE_ENTER_PIN_CODE10+ | 0 | The user needs to enter the PIN displayed on the peer device.
This is a system API.|
+| PIN_TYPE_ENTER_PASSKEY10+ | 1 | The user needs to enter the PASSKEY displayed on the peer device.
This is a system API. |
+| PIN_TYPE_CONFIRM_PASSKEY10+ | 2 | The user needs to confirm the PASSKEY displayed on the local device.
This is a system API. |
+| PIN_TYPE_NO_PASSKEY_CONSENT10+ | 3 | There is no PASSKEY, and the user needs to accept or reject the pairing request.
This is a system API. |
+| PIN_TYPE_NOTIFY_PASSKEY10+ | 4 | The user needs to enter the PASSKEY displayed on the local device on the peer device.
This is a system API. |
+| PIN_TYPE_DISPLAY_PIN_CODE10+ | 5 | The user needs to enter the PIN displayed on the peer device for Bluetooth 2.0 devices.
This is a system API. |
+| PIN_TYPE_OOB_CONSENT10+ | 6 | The user needs to accept or reject the out of band (OOB) pairing request.
This is a system API. |
+| PIN_TYPE_PIN_16_DIGITS10+ | 7 | The user needs to enter the 16-digit PIN displayed on the peer device.
This is a system API. |
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-accountManager.md b/en/application-dev/reference/apis/js-apis-enterprise-accountManager.md
index 994fbe9f8f56a215515692808c776b470b653e5e..9fb44e3c6a4a5f05502cd215b26001f11cbed717 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-accountManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-accountManager.md
@@ -4,7 +4,8 @@ The **accountManager** module provides APIs for account management of enterprise
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -48,7 +49,7 @@ let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
};
-accountManager.disallowAddLocalAccount(admin, true, (error) => {
+accountManager.disallowAddLocalAccount(wantTemp, true, (error) => {
if (error != null) {
console.log("error code:" + error.code + " error message:" + error.message);
}
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-adminManager.md b/en/application-dev/reference/apis/js-apis-enterprise-adminManager.md
index 330a4de4c144db48f99c0afd2848a9f4dd1fea77..6ce6b0456e491339c1d698eeda38e8aab0c4100c 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-adminManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-adminManager.md
@@ -31,7 +31,7 @@ Enables a device administrator application of the current user. This API uses an
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | Yes | Enterprise information of the device administrator application. |
| type | [AdminType](#admintype) | Yes | Type of the device administrator to enable. |
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -82,8 +82,8 @@ Enables a device administrator application of the user specified by **userId**.
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | Yes | Enterprise information of the device administrator application. |
| type | [AdminType](#admintype) | Yes | Type of the device administrator to enable. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
@@ -119,7 +119,7 @@ adminManager.enableAdmin(wantTemp, enterpriseInfo, adminManager.AdminType.ADMIN_
enableAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType, userId?: number): Promise\
-Enables a device administrator application of the user specified by **userId** (if any) or the current user. This API uses a promise to return the result. The super administrator application can be enabled only by the administrator.
+Enables a device administrator application of the specified user (if **userId** is passed in) or the current user (if **userId** is not passed in). This API uses a promise to return the result. The super administrator application can be enabled only by the administrator.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -134,7 +134,7 @@ Enables a device administrator application of the user specified by **userId** (
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | Yes | Enterprise information of the device administrator application. |
| type | [AdminType](#admintype) | Yes | Type of the device administrator to enable. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -173,7 +173,7 @@ adminManager.enableAdmin(wantTemp, enterpriseInfo, adminManager.AdminType.ADMIN_
disableAdmin(admin: Want, callback: AsyncCallback\): void
-Disables a device common administrator application of the current user. This API uses an asynchronous callback to return the result.
+Disables a device administrator application of the current user. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -185,8 +185,8 @@ Disables a device common administrator application of the current user. This API
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------- | ---- | ------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Device common administrator application. |
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -216,7 +216,7 @@ adminManager.disableAdmin(wantTemp, error => {
disableAdmin(admin: Want, userId: number, callback: AsyncCallback\): void
-Disables a device common administrator application of the user specified by **userId**. This API uses an asynchronous callback to return the result.
+Disables a device administrator application of the user specified by **userId**. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -228,9 +228,9 @@ Disables a device common administrator application of the user specified by **us
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------- | ---- | ---------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Device common administrator application. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
@@ -260,7 +260,7 @@ adminManager.disableAdmin(wantTemp, 100, error => {
disableAdmin(admin: Want, userId?: number): Promise\
-Disables a device administrator application of the user specified by **userId** (if any) or the current user. This API uses a promise to return the result.
+Disables a device administrator application of the specified user (if **userId** is passed in) or the current user (if **userId** is not passed in). This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -272,8 +272,8 @@ Disables a device administrator application of the user specified by **userId**
| Name | Type | Mandatory | Description |
| ------ | ----------------------------------- | ---- | ---------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Device common administrator application. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -305,7 +305,7 @@ adminManager.disableAdmin(wantTemp, 100).catch(error => {
disableSuperAdmin(bundleName: String, callback: AsyncCallback\): void
-Disables a device super administrator application based on the specified bundle name. This API uses an asynchronous callback to return the result.
+Disables a super device administrator application based on the specified bundle name. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -317,8 +317,8 @@ Disables a device super administrator application based on the specified bundle
| Name | Type | Mandatory | Description |
| ---------- | ----------------------- | ---- | ------------------- |
-| bundleName | String | Yes | Bundle name of the device super administrator application. |
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| bundleName | String | Yes | Bundle name of the super device administrator application. |
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -345,7 +345,7 @@ adminManager.disableSuperAdmin(bundleName, error => {
disableSuperAdmin(bundleName: String): Promise\
-Disables a device super administrator application based on the specified bundle name. This API uses a promise to return the result.
+Disables a super device administrator application based on the specified bundle name. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
@@ -357,7 +357,7 @@ Disables a device super administrator application based on the specified bundle
| Name | Type | Mandatory | Description |
| ---------- | ------ | ---- | ------------ |
-| bundleName | String | Yes | Bundle name of the device super administrator application.|
+| bundleName | String | Yes | Bundle name of the super device administrator application.|
**Return value**
@@ -397,7 +397,7 @@ Checks whether a device administrator application of the current user is enabled
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------- | ---- | -------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object.|
**Example**
@@ -430,8 +430,8 @@ Checks whether a device administrator application of the user specified by **use
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------- | ---- | ---------------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object. |
**Example**
@@ -453,7 +453,7 @@ adminManager.isAdminEnabled(wantTemp, 100, (error, result) => {
isAdminEnabled(admin: Want, userId?: number): Promise\
-Checks whether a device administrator application of the user specified by **userId** (if any) or the current user is enabled. This API uses a promise to return the result.
+Checks whether a device administrator application of the specified user (if **userId** is passed in) or the current user (if **userId** is not passed in) is enabled. This API uses a promise to return the result.
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -464,7 +464,7 @@ Checks whether a device administrator application of the user specified by **use
| Name | Type | Mandatory | Description |
| ------ | ----------------------------------- | ---- | ---------------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -490,7 +490,7 @@ adminManager.isAdminEnabled(wantTemp, 100).then((result) => {
isSuperAdmin(bundleName: String, callback: AsyncCallback\): void
-Checks whether a device super administrator application is enabled based on the specified bundle name. This API uses an asynchronous callback to return the result.
+Checks whether a super device administrator application is enabled based on the specified bundle name. This API uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -501,7 +501,7 @@ Checks whether a device super administrator application is enabled based on the
| Name | Type | Mandatory | Description |
| ---------- | ----------------------- | ---- | -------------------- |
| bundleName | String | Yes | Device administrator application. |
-| callback | AsyncCallback\ | Yes | Callback used to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object.|
+| callback | AsyncCallback\ | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is a Boolean value (**true** means that the super device administrator application is enabled; and **false** means the opposite). If the operation fails, **err** is an error object.|
**Example**
@@ -520,7 +520,7 @@ adminManager.isSuperAdmin(bundleName, (error, result) => {
isSuperAdmin(bundleName: String): Promise\
-Checks whether a device super administrator application is enabled based on the specified bundle name. This API uses a promise to return the result.
+Checks whether a super device administrator application is enabled based on the specified bundle name. This API uses a promise to return the result.
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -530,13 +530,13 @@ Checks whether a device super administrator application is enabled based on the
| Name | Type | Mandatory | Description |
| ---------- | ------ | ---- | --------- |
-| bundleName | String | Yes | Device super administrator application.|
+| bundleName | String | Yes | Super device administrator application.|
**Return value**
| ID | Error Message |
| ----------------- | ------------------- |
-| Promise\ | Promise used to return the result. If **true** is returned, the device super administrator application is enabled. If **false** is returned, the device super administrator application is not enabled.|
+| Promise\ | Promise used to return the result. If **true** is returned, the super device administrator application is enabled. If **false** is returned, the super device administrator application is not enabled.|
**Example**
@@ -567,7 +567,7 @@ Sets the enterprise information of a device administrator application. This API
| -------------- | ----------------------------------- | ---- | ---------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | Yes | Enterprise information of the device administrator application. |
-| callback | AsyncCallback\; | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| callback | AsyncCallback\; | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -661,7 +661,7 @@ Obtains the enterprise information of a device administrator application. This A
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------ |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| callback | AsyncCallback<[EnterpriseInfo](#enterpriseinfo)> | Yes | Callback used to return the result. If the operation is successful, **err** is **null** and **data** is the enterprise information of the device administrator application. If the operation fails, **err** is an error object.|
+| callback | AsyncCallback<[EnterpriseInfo](#enterpriseinfo)> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is the enterprise information of the device administrator application obtained. If the operation fails, **err** is an error object.|
**Error codes**
@@ -708,7 +708,7 @@ Obtains the enterprise information of a device administrator application. This A
| Type | Description |
| ---------------------------------------- | ------------------------- |
-| Promise<[EnterpriseInfo](#enterpriseinfo)> | Callback used to return the enterprise information of the device administrator application.|
+| Promise<[EnterpriseInfo](#enterpriseinfo)> | Promise used to return the enterprise information of the specified device administrator application obtained.|
**Error codes**
@@ -737,7 +737,7 @@ adminManager.getEnterpriseInfo(wantTemp).then((result) => {
subscribeManagedEvent(admin: Want, managedEvents: Array\, callback: AsyncCallback\): void
-Configures a device administrator application to subscribe to system management events. This API uses an asynchronous callback to return the result.
+Subscribes to system management events through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
@@ -751,7 +751,7 @@ Configures a device administrator application to subscribe to system management
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
| managedEvents | Array\<[ManagedEvent](#managedevent)> | Yes| Array of events to subscribe to.|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -781,7 +781,7 @@ adminManager.subscribeManagedEvent(wantTemp, events, (error) => {
subscribeManagedEvent(admin: Want, managedEvents: Array\): Promise\
-Configures a device administrator application to subscribe to system management events. This API uses a promise to return the result.
+Subscribes to system management events through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
@@ -829,7 +829,7 @@ adminManager.subscribeManagedEvent(wantTemp, events).then(() => {
unsubscribeManagedEvent(admin: Want, managedEvents: Array\, callback: AsyncCallback\): void
-Configures a device administrator application to unsubscribe from system management events. This API uses an asynchronous callback to return the result.
+Unsubscribes from system management events through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
@@ -843,7 +843,7 @@ Configures a device administrator application to unsubscribe from system managem
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
| managedEvents | Array\<[ManagedEvent](#managedevent)> | Yes| Array of events to unsubscribe from.|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -873,7 +873,7 @@ adminManager.unsubscribeManagedEvent(wantTemp, events, (error) => {
unsubscribeManagedEvent(admin: Want, managedEvents: Array\): Promise\
-Configures a device administrator application to unsubscribe from system management events. This API uses a promise to return the result.
+Unsubscribes from system management events through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
@@ -919,7 +919,7 @@ adminManager.unsubscribeManagedEvent(wantTemp, events).then(() => {
## EnterpriseInfo
-Describes the enterprise information of a device administrator application.
+Defines the enterprise information of a device administrator application.
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -953,7 +953,7 @@ Enumerates the system management events that can be subscribed to.
| Name | Value | Description |
| -------------------------- | ---- | ------------- |
-| MANAGED_EVENT_BUNDLE_ADDED | 0 | Bundle added.|
-| MANAGED_EVENT_BUNDLE_REMOVED | 1 | Bundle removed.|
+| MANAGED_EVENT_BUNDLE_ADDED | 0 | Application installed.|
+| MANAGED_EVENT_BUNDLE_REMOVED | 1 | Application uninstalled.|
| MANAGED_EVENT_APP_START10+ | 2 | Application started.|
| MANAGED_EVENT_APP_STOP10+ | 3 | Application stopped.|
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-applicationManager.md b/en/application-dev/reference/apis/js-apis-enterprise-applicationManager.md
index 0f9d2852f88f7e6b729326e62fc3886422d63eb2..529777b2e18e3533c433b1aecb236284daa6340a 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-applicationManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-applicationManager.md
@@ -1,6 +1,6 @@
# @ohos.enterprise.applicationManager (Application Management)
-The **applicationManager** module provides application management capabilities, including adding applications to or removing applications from an application blocklist, and obtaining the application blocklist. The application blocklist contains the applications that are forbidden to run. Only the enterprise device administrator applications can call the APIs provided by this module.
+The **applicationManager** module provides application management capabilities, including adding, removing, and obtaining the applications that are forbidden to run. Only the enterprise device administrator applications can call the APIs provided by this module.
> **NOTE**
>
@@ -17,7 +17,7 @@ import applicationManager from '@ohos.enterprise.applicationManager';
addDisallowedRunningBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Adds applications to the application blocklist using the specified device administrator application. This API uses an asynchronous callback to return the result. The applications added to the blocklist cannot run under the administrator user.
+Adds a list of applications that are forbidden to run by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -37,7 +37,7 @@ Adds applications to the application blocklist using the specified device admini
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -63,7 +63,7 @@ applicationManager.addDisallowedRunningBundles(wantTemp, appIds, (error) => {
addDisallowedRunningBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Adds applications to the application list for a user using the specified device administrator application. This API uses an asynchronous callback to return the result. The applications added to the blocklist cannot run under the user specified by **userId**.
+Adds a list of applications that are forbidden to run by a given user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -84,7 +84,7 @@ Adds applications to the application list for a user using the specified device
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -109,7 +109,7 @@ applicationManager.addDisallowedRunningBundles(wantTemp, appIds, 100, (error) =>
addDisallowedRunningBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Adds applications to the application blocklist using the specified device administrator application. This API uses a promise to return the result. If **userId** is passed in when this API is called, the added applications cannot run under the specified user. If **userId** is not passed in, the added applications cannot run under the current user.
+Adds a list of applications that are forbiddedn to run by the specified user (if **userId** is passed in) or current user (if **userId** is not passed in) through the specified device administrator application.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -135,7 +135,7 @@ Adds applications to the application blocklist using the specified device admini
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -160,7 +160,7 @@ applicationManager.addDisallowedRunningBundles(wantTemp, appIds, 100).then(() =>
removeDisallowedRunningBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Removes applications from the application blocklist using the specified device administrator application. This API uses an asynchronous callback to return the result. If an application blocklist exists, the applications in the blocklist cannot run under the current user.
+Removes a list of applications that are forbiddedn to run by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -180,7 +180,7 @@ Removes applications from the application blocklist using the specified device a
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -205,7 +205,7 @@ applicationManager.removeDisallowedRunningBundles(wantTemp, appIds, (error) => {
removeDisallowedRunningBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Removes applications from the application blocklist of a user using the specified device administrator application. This API uses an asynchronous callback to return the result. If an application blocklist exists, the applications in the blocklist cannot run under the user specified by **userId**.
+Removes a list of applications that are forbiddedn to run by the specified user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -226,7 +226,7 @@ Removes applications from the application blocklist of a user using the specifie
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -251,7 +251,7 @@ applicationManager.removeDisallowedRunningBundles(wantTemp, appIds, 100, (error)
removeDisallowedRunningBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Removes applications from the application blocklist using the specified device administrator application. This API uses a promise to return the result. If **userId** is passed in when this API is called to remove applications from the blocklist, the applications in the blocklist cannot run under the specified user. If **userId** is not passed in, the applications in the blocklist cannot run under the current user.
+Removes a list of applications that are forbiddedn to run by the specified user (if **userId** is passed in) or current user (if **userId** is not passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -277,7 +277,7 @@ Removes applications from the application blocklist using the specified device a
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -302,7 +302,7 @@ applicationManager.removeDisallowedRunningBundles(wantTemp, appIds, 100).then(()
getDisallowedRunningBundles(admin: Want, callback: AsyncCallback<Array<string>>): void;
-Obtains the application blocklist of the administrator user using the specified device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of applications that are firbidded to run by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -321,7 +321,7 @@ Obtains the application blocklist of the administrator user using the specified
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -345,7 +345,7 @@ applicationManager.getDisallowedRunningBundles(wantTemp, (error) => {
getDisallowedRunningBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void;
-Obtains the application blocklist of a user using the specified device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of applications that are firbidded to run by the specified user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -365,7 +365,7 @@ Obtains the application blocklist of a user using the specified device administr
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -389,7 +389,7 @@ applicationManager.getDisallowedRunningBundles(wantTemp, 100, (error) => {
getDisallowedRunningBundles(admin: Want, userId?: number): Promise<Array<string>>;
-Obtains the application blocklist using the specified device administrator application. This API uses a promise to return the result. If **userId** is passed in when this API is called, the device administrator application obtains the application blocklist of the specified user. If **userId** is not passed in, the device administrator application obtains the application blocklist of the current user.
+Obtains the list of applications that are firbidded to run by the specified user (if **userId** is passed in) or current user (if **userId** is not passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY
@@ -408,13 +408,13 @@ Obtains the application blocklist using the specified device administrator appli
| Type | Description |
| --------------------- | ------------------------- |
-| Promise<Array<string>> | Promise used to return the application blocklist of the administrator user.|
+| Promise<Array<string>> | Promise used to return the application blocklist of the current user.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-bundleManager.md b/en/application-dev/reference/apis/js-apis-enterprise-bundleManager.md
index a58e574b6f4bc653e354f294b02b6c653020cebe..0fe49e5a2a77937a3e12077f3efee6449be19557 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-bundleManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-bundleManager.md
@@ -4,8 +4,8 @@ The **bundleManager** module provides APIs for bundle management, including addi
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
-> The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -17,7 +17,7 @@ import bundleManager from '@ohos.enterprise.bundleManager';
addAllowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Adds a list of bundles that are allowed to be installed by the current administrator for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Adds a list of bundles that are allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -29,20 +29,20 @@ Adds a list of bundles that are allowed to be installed by the current administr
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the allowed bundle list. |
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -62,7 +62,7 @@ bundleManager.addAllowedInstallBundles(wantTemp, appIds, (error) => {
addAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Adds a list of bundles that are allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Adds a list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -74,21 +74,21 @@ Adds a list of bundles that are allowed to be installed by the given user (speci
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the allowed bundle list. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -108,7 +108,7 @@ bundleManager.addAllowedInstallBundles(wantTemp, appIds, 100, (error) => {
addAllowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Adds a list of bundles that are allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. This API uses a promise to return the result.
+Adds a list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -120,9 +120,9 @@ Adds a list of bundles that are allowed to be installed by the current administr
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the allowed bundle list. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -134,12 +134,12 @@ Adds a list of bundles that are allowed to be installed by the current administr
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -159,7 +159,7 @@ bundleManager.addAllowedInstallBundles(wantTemp, appIds, 100).then(() => {
removeAllowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Removes a list of bundles that are allowed to be installed by the current administrator for an enterprise device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result.
+Removes a list of bundles that are allowed to be installed by the current user through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -171,20 +171,20 @@ Removes a list of bundles that are allowed to be installed by the current admini
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be removed from the allowed bundle list. |
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -204,7 +204,7 @@ bundleManager.removeAllowedInstallBundles(wantTemp, appIds, (error) => {
removeAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Removes a list of bundles that are allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result.
+Removes a list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -216,21 +216,21 @@ Removes a list of bundles that are allowed to be installed by the given user (sp
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be removed from the allowed bundle list. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -250,7 +250,7 @@ bundleManager.removeAllowedInstallBundles(wantTemp, appIds, 100, (error) => {
removeAllowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Removes a list of bundles that are allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. The bundles removed from the list can no longer be installed. This API uses a promise to return the result.
+Removes a list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -262,9 +262,9 @@ Removes a list of bundles that are allowed to be installed by the current admini
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array\<string> | Yes | Bundles to be removed from the allowed bundle list. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array\<string> | Yes | Bundles to be removed. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -276,12 +276,12 @@ Removes a list of bundles that are allowed to be installed by the current admini
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -301,7 +301,7 @@ bundleManager.removeAllowedInstallBundles(wantTemp, appIds, 100).then(() => {
getAllowedInstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void;
-Obtains the list of bundles that are allowed to be installed by the current administrator for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of bundles that are allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -313,19 +313,19 @@ Obtains the list of bundles that are allowed to be installed by the current admi
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -344,7 +344,7 @@ bundleManager.getAllowedInstallBundles(wantTemp, (error) => {
getAllowedInstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void;
-Obtains the list of bundles that are allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -356,20 +356,20 @@ Obtains the list of bundles that are allowed to be installed by the given user (
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -388,7 +388,7 @@ bundleManager.getAllowedInstallBundles(wantTemp, 100, (error) => {
getAllowedInstallBundles(admin: Want, userId?: number): Promise<Array<string>>;
-Obtains the list of bundles that are allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. This API uses a promise to return the result.
+Obtains the list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -400,25 +400,25 @@ Obtains the list of bundles that are allowed to be installed by the current admi
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application.|
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
| Type | Description |
| --------------------- | ------------------------- |
-| Promise<Array<string>> | Promise used to return the allowed bundle list.|
+| Promise<Array<string>> | Promise used to return the list of the bundles obtained.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -436,7 +436,7 @@ bundleManager.getAllowedInstallBundles(wantTemp, 100).then(() => {
addDisallowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Adds a list of bundles that are not allowed to be installed by the current administrator for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Adds a list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -448,20 +448,20 @@ Adds a list of bundles that are not allowed to be installed by the current admin
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the disallowed bundle list. |
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -481,7 +481,7 @@ bundleManager.addDisallowedInstallBundles(wantTemp, appIds, (error) => {
addDisallowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Adds a list of bundles that are not allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Adds a list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -493,21 +493,21 @@ Adds a list of bundles that are not allowed to be installed by the given user (s
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the disallowed bundle list. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -527,7 +527,7 @@ bundleManager.addDisallowedInstallBundles(wantTemp, appIds, 100, (error) => {
addDisallowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Adds a list of bundles that are not allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. This API uses a promise to return the result.
+Adds a list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -539,9 +539,9 @@ Adds a list of bundles that are not allowed to be installed by the current admin
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be added to the disallowed bundle list. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -553,12 +553,12 @@ Adds a list of bundles that are not allowed to be installed by the current admin
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -578,7 +578,7 @@ bundleManager.addDisallowedInstallBundles(wantTemp, appIds, 100).then(() => {
removeDisallowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void;
-Removes a list of bundles that are not allowed to be installed by the current administrator for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Removes a list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -590,20 +590,20 @@ Removes a list of bundles that are not allowed to be installed by the current ad
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be removed from the disallowed bundle list. |
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -623,7 +623,7 @@ bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, (error) => {
removeAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void;
-Removes a list of bundles that are not allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Removes a list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -635,21 +635,21 @@ Removes a list of bundles that are not allowed to be installed by the given user
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array<string> | Yes | Bundles to be removed from the disallowed bundle list. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -669,7 +669,7 @@ bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, 100, (error) => {
removeDisallowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>;
-Removes a list of bundles that are not allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. This API uses a promise to return the result.
+Removes a list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -681,9 +681,9 @@ Removes a list of bundles that are not allowed to be installed by the current ad
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| appIds | Array\<string> | Yes | Bundles to be removed from the disallowed bundle list. |
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array\<string> | Yes | Bundles to be removed. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
@@ -695,12 +695,12 @@ Removes a list of bundles that are not allowed to be installed by the current ad
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -720,7 +720,7 @@ bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, 100).then(() => {
getDisallowedInstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void;
-Obtains the list of bundles that are not allowed to be installed by the current administrator for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -732,19 +732,19 @@ Obtains the list of bundles that are not allowed to be installed by the current
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -763,7 +763,7 @@ bundleManager.getDisallowedInstallBundles(wantTemp, (error) => {
getDisallowedInstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void;
-Obtains the list of bundles that are not allowed to be installed by the given user (specified by **userId**) for an enterprise device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -775,20 +775,20 @@ Obtains the list of bundles that are not allowed to be installed by the given us
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application. |
-| userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
-| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -807,7 +807,7 @@ bundleManager.getDisallowedInstallBundles(wantTemp, 100, (error) => {
getDisallowedInstallBundles(admin: Want, userId?: number): Promise<Array<string>>;
-Obtains the list of bundles that are not allowed to be installed by the current administrator (if **userId** is not passed in) or the given user (if **userId** is passed in) for an enterprise device administrator application. This API uses a promise to return the result.
+Obtains the list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
@@ -819,27 +819,26 @@ Obtains the list of bundles that are not allowed to be installed by the current
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Target enterprise device administrator application.|
-| userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
**Return value**
| Type | Description |
| --------------------- | ------------------------- |
-| Promise<Array<string>> | Promise used to return the allowed bundle list.|
+| Promise<Array<string>> | Promise used to return the list of the bundles obtained.|
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
-```js
let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
@@ -849,3 +848,427 @@ bundleManager.getDisallowedInstallBundles(wantTemp, 100).then(() => {
}).catch(error => {
console.log("error code:" + error.code + " error message:" + error.message);
});
+
+## bundleManager.addDisallowedUninstallBundles
+
+addDisallowedUninstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void
+
+Adds a list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, (error) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ }
+});
+```
+
+## bundleManager.addDisallowedUninstallBundles
+
+addDisallowedUninstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void
+
+Adds a list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, 100, (error) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ }
+});
+```
+
+## bundleManager.addDisallowedUninstallBundles
+
+addDisallowedUninstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>
+
+Adds a list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be added. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+
+**Return value**
+
+| Type | Description |
+| --------------------- | ------------------------- |
+| Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, 100).then(() => {
+ console.log("success");
+}).catch(error => {
+ console.log("error code:" + error.code + " error message:" + error.message);
+});
+```
+
+## bundleManager.removeDisallowedUninstallBundles
+
+removeDisallowedUninstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void
+
+Removes a list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, (error) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ }
+});
+```
+
+## bundleManager.removeDisallowedUninstallBundles
+
+removeDisallowedUninstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void
+
+Removes a list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array<string> | Yes | Bundles to be removed. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, 100, (error) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ }
+});
+```
+
+## bundleManager.removeDisallowedUninstallBundles
+
+removeDisallowedUninstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>
+
+Removes a list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| appIds | Array\<string> | Yes | Bundles to be removed. |
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+
+**Return value**
+
+| Type | Description |
+| --------------------- | ------------------------- |
+| Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+let appIds = ["com.example.myapplication"];
+
+bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, 100).then(() => {
+ console.log("success");
+}).catch(error => {
+ console.log("error code:" + error.code + " error message:" + error.message);
+});
+```
+
+## bundleManager.getDisallowedUninstallBundles
+
+getDisallowedUninstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void
+
+Obtains the list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+
+bundleManager.getDisallowedUninstallBundles(wantTemp, (error, data) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ } else {
+ console.log("success: " + data);
+ }
+});
+```
+
+## bundleManager.getDisallowedUninstallBundles
+
+getDisallowedUninstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void
+
+Obtains the list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
+| userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+| callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+
+bundleManager.getDisallowedUninstallBundles(wantTemp, 100, (error, data) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ } else {
+ console.log("success: " + data);
+ }
+});
+```
+
+## bundleManager.getDisallowedUninstallBundles
+
+getDisallowedUninstallBundles(admin: Want, userId?: number): Promise<Array<string>>
+
+Obtains the list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
+| userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.|
+
+**Return value**
+
+| Type | Description |
+| --------------------- | ------------------------- |
+| Promise<Array<string>> | Promise used to return the bundle list obtained.|
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | the application is not an administrator of the device. |
+| 9200002 | the administrator application does not have permission to manage the device. |
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+bundleManager.getDisallowedUninstallBundles(wantTemp, 100).then((data) => {
+ console.log("success: " + data);
+}).catch(error => {
+ console.log("error code:" + error.code + " error message:" + error.message);
+});
+
+```
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md b/en/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md
index 261fbffaeee3e3c985fc636139149ec464e1a71e..f6f44a72f085df41e86616029201934e9b3c5c09 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-dateTimeManager.md
@@ -4,7 +4,8 @@ The **dateTimeManager** module provides APIs for system time management. Only th
> **NOTE**
>
-> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -16,7 +17,7 @@ import dateTimeManager from '@ohos.enterprise.dateTimeManager'
setDateTime(admin: Want, time: number, callback: AsyncCallback\): void
-Configures a device administrator application to set the system time. This API uses an asynchronous callback to return the result.
+Sets the system time through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -29,8 +30,8 @@ Configures a device administrator application to set the system time. This API u
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
-| time | number | Yes| Timestamp (ms).|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| time | number | Yes| Timestamp to set, in ms.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -59,7 +60,7 @@ dateTimeManager.setDateTime(wantTemp, 1526003846000, (error) => {
setDateTime(admin: Want, time: number): Promise\
-Configures a device administrator application to set the system time. This API uses a promise to return the result.
+Sets the system time through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -72,7 +73,7 @@ Configures a device administrator application to set the system time. This API u
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
-| time | number | Yes| Timestamp (ms).|
+| time | number | Yes| Timestamp to set, in ms.|
**Return value**
@@ -106,7 +107,7 @@ dateTimeManager.setDateTime(wantTemp, 1526003846000).then(() => {
disallowModifyDateTime(admin: Want, disallow: boolean, callback: AsyncCallback\): void
-Configures a device administrator application to disable modification of the system time. This API uses an asynchronous callback to return the result.
+Disallows modification of the system time through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -120,7 +121,7 @@ Configures a device administrator application to disable modification of the sys
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
| disallow | boolean | Yes| Whether to disable modification of the system time. The value **true** means to disable modification of the system time, and **false** means the opposite.|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -149,7 +150,7 @@ dateTimeManager.disallowModifyDateTime(wantTemp, true, (error) => {
disallowModifyDateTime(admin: Want, disallow: boolean): Promise\
-Configures a device administrator application to disable modification of the system time. This API uses a promise to return the result.
+Disallows modification of the system time through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -168,7 +169,7 @@ Configures a device administrator application to disable modification of the sys
| Type | Description |
| ----- | ----------------------------------- |
-| Promise\ | that returns no value. If the operation fails, an error object is thrown.|
+| Promise\ | Promise that returns no value. An error object is thrown if the operation fails.|
**Error codes**
@@ -196,7 +197,7 @@ dateTimeManager.disallowModifyDateTime(wantTemp, true).then(() => {
isModifyDateTimeDisallowed(admin: Want, callback: AsyncCallback\): void
-Configures a device administrator application to check whether modification of the system time is disabled. This API uses an asynchronous callback to return the result.
+Checks whether the modification of the system time is disallowed through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -209,7 +210,7 @@ Configures a device administrator application to check whether modification of t
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. The value **true** means that modification of the system time is disabled, and **false** means the opposite.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. The value **true** means that modification of the system time is disallowed, and **false** means the opposite.|
**Error codes**
@@ -238,7 +239,7 @@ dateTimeManager.isModifyDateTimeDisallowed(wantTemp, (error) => {
isModifyDateTimeDisallowed(admin: Want): Promise\
-Configures a device administrator application to check whether modification of the system time is disabled. This API uses a promise to return the result.
+Checks whether the modification of the system time is disallowed through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_DATETIME
@@ -256,7 +257,7 @@ Configures a device administrator application to check whether modification of t
| Type | Description |
| ----- | ----------------------------------- |
-| Promise\ | Promise used to return the result. The value **true** means that modification of the system time is disabled, and **false** means the opposite.|
+| Promise\ | Promise used to return the result. The value **true** means that modification of the system time is disallowed, and **false** means the opposite.|
**Error codes**
@@ -274,7 +275,7 @@ let wantTemp = {
bundleName: "bundleName",
abilityName: "abilityName",
};
-dateTimeManager.disallowModifyDateTime(wantTemp).then(() => {
+dateTimeManager.isModifyDateTimeDisallowed(wantTemp).then(() => {
}).catch((error) => {
console.log("error code:" + error.code + " error message:" + error.message);
})
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-deviceControl.md b/en/application-dev/reference/apis/js-apis-enterprise-deviceControl.md
index ff4de7a8e481c61da1bd3e1405343725b73af946..7079f0abcd7ab0a16440f8b491fd9c31517f2ef7 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-deviceControl.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-deviceControl.md
@@ -1,10 +1,11 @@
-# @ohos.enterprise.deviceControl (Device Control Management)
+# @ohos.enterprise.deviceControl (Device Control)
-The **deviceControl** module provides APIs for device control, which can only be called by device administrator applications.
+The **deviceControl** module provides APIs for device control, which can be called only by device administrator applications.
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -18,6 +19,7 @@ resetFactory(admin: Want, callback: AsyncCallback\): void
Restores factory settings. This API uses an asynchronous callback to return the result.
+
**Required permissions**: ohos.permission.ENTERPRISE_RESET_DEVICE
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -28,8 +30,8 @@ Restores factory settings. This API uses an asynchronous callback to return the
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
-| callback | AsyncCallback\ | Yes| Callback used to return the result. If the setting is successful, **err** is **null**. Otherwise, **err** is an error object.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application used to restore the factory settings.|
+| callback | AsyncCallback\ | Yes| Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.|
**Error codes**
@@ -40,7 +42,7 @@ For details about the error codes, see [Enterprise Device Management Error Codes
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
@@ -70,13 +72,13 @@ Restores factory settings. This API uses a promise to return the result.
| Name | Type | Mandatory | Description |
| ----- | ----------------------------------- | ---- | ------- |
-| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.|
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application used to restore the factory settings.|
**Return value**
| Type | Description |
| ----- | ----------------------------------- |
-| Promise\ | Promise that returns no value.|
+| Promise\ | Promise that returns no value. If the operation fails, an error object is thrown.|
**Error codes**
@@ -87,7 +89,7 @@ For details about the error codes, see [Enterprise Device Management Error Codes
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
-**Example:**
+**Example**
```js
let wantTemp = {
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-deviceInfo.md b/en/application-dev/reference/apis/js-apis-enterprise-deviceInfo.md
index 0a167a411d31df946348689210df241312cfed2d..260d7cd7ff7a53649c355461228aab8759740ba5 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-deviceInfo.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-deviceInfo.md
@@ -1,10 +1,11 @@
# @ohos.enterprise.deviceInfo (Device Information Management)
-The **deviceInfo** module provides APIs for enterprise device information management, including the API for obtaining device serial numbers. These APIs can only be called by device administrator applications.
+The **deviceInfo** module provides APIs for enterprise device information management, including the API for obtaining device serial numbers. Only the enterprise device administrator applications can call the APIs provided by this module.
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -16,7 +17,7 @@ import deviceInfo from '@ohos.enterprise.deviceInfo';
getDeviceSerial(admin: Want, callback: AsyncCallback<string>): void
-Configures a device administrator application to obtain the device serial number. This API uses an asynchronous callback to return the result.
+Obtains the device serial number through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -29,13 +30,13 @@ Configures a device administrator application to obtain the device serial number
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| callback | AsyncCallback<string> | Yes | Callback used to return the result.
If the operation is successful, **err** is **null** and **data** is the device serial number obtained. If the operation fails, **err** is an error object. |
+| callback | AsyncCallback<string> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is the device serial number obtained. If the operation fails, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -60,7 +61,7 @@ deviceInfo.getDeviceSerial(wantTemp, (error, result) => {
getDeviceSerial(admin: Want): Promise<string>
-Configures a device administrator application to obtain the device serial number. This API uses a promise to return the result.
+Obtains the device serial number through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -84,7 +85,7 @@ Configures a device administrator application to obtain the device serial number
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -107,7 +108,7 @@ deviceInfo.getDeviceSerial(wantTemp).then((result) => {
getDisplayVersion(admin: Want, callback: AsyncCallback<string>): void;
-Configures a device administrator application to obtain the device version number. This API uses an asynchronous callback to return the result.
+Obtains the device version number through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -120,13 +121,13 @@ Configures a device administrator application to obtain the device version numbe
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| callback | AsyncCallback<string> | Yes | Callback used to return the result.
If the operation is successful, **err** is **null** and **data** is the device version number obtained. If the operation fails, **err** is an error object. |
+| callback | AsyncCallback<string> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is the device version number obtained. If the operation fails, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -151,7 +152,7 @@ deviceInfo.getDisplayVersion(wantTemp, (error, result) => {
getDisplayVersion(admin: Want): Promise<string>
-Configures a device administrator application to obtain the device version number. This API uses a promise to return the result.
+Obtains the device version number through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -175,7 +176,7 @@ Configures a device administrator application to obtain the device version numbe
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -198,7 +199,7 @@ deviceInfo.getDisplayVersion(wantTemp).then((result) => {
getDeviceName(admin: Want, callback: AsyncCallback<string>): void
-Configures a device administrator application to obtain the device name. This API uses an asynchronous callback to return the result.
+Obtains the device name through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -211,13 +212,13 @@ Configures a device administrator application to obtain the device name. This AP
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. |
-| callback | AsyncCallback<string> | Yes | Callback used to return the result.
If the operation is successful, **err** is **null** and **data** is the device name obtained. If the operation fails, **err** is an error object. |
+| callback | AsyncCallback<string> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null** and **data** is the device name obtained. If the operation fails, **err** is an error object. |
**Error codes**
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
@@ -242,7 +243,7 @@ deviceInfo.getDeviceName(wantTemp, (error, result) => {
getDeviceName(admin: Want): Promise<string>
-Configures a device administrator application to obtain the device name. This API uses a promise to return the result.
+Obtains the device name through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_DEVICE_INFO
@@ -266,7 +267,7 @@ Configures a device administrator application to obtain the device name. This AP
For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
-| ID| Error Message |
+| ID| Error Message |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | the application is not an administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-networkManager.md b/en/application-dev/reference/apis/js-apis-enterprise-networkManager.md
index cf5ecc67a009f4a8f12722ddbb7db823beaa9785..b60b2519e1035536d22c65154a0403b12bab7b5a 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-networkManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-networkManager.md
@@ -4,7 +4,8 @@ The **networkManager** module provides APIs for network management of enterprise
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -16,9 +17,9 @@ import networkManager from '@ohos.enterprise.networkManager';
getAllNetworkInterfaces(admin: Want, callback: AsyncCallback<Array<string>>): void
-Obtains all active network interfaces through a device administrator application. This API uses an asynchronous callback to return the result.
+Obtains all active network interfaces through the specified device administrator application. This API uses an asynchronous callback to return the result.
-**Required permissions**: ohos.permission.GET_NETWORK_INFO
+**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -47,7 +48,7 @@ let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
};
-networkManager.getAllNetworkInterfaces(admin, (error, result) => {
+networkManager.getAllNetworkInterfaces(wantTemp, (error, result) => {
if (error != null) {
console.log("error code:" + error.code + " error message:" + error.message);
return;
@@ -60,7 +61,7 @@ networkManager.getAllNetworkInterfaces(admin, (error, result) => {
getAllNetworkInterfaces(admin: Want): Promise<Array<string>>
-Obtains all active network interfaces through a device administrator application. This API uses a promise to return the result.
+Obtains all active network interfaces through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
@@ -107,9 +108,9 @@ networkManager.getAllNetworkInterfaces(wantTemp).then((result) => {
getIpAddress(admin: Want, networkInterface: string, callback: AsyncCallback<string>): void
-Obtains the device IP address based on the given network interface through a device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the device IP address based on the given network interface through the specified device administrator application. This API uses an asynchronous callback to return the result.
-**Required permissions**: ohos.permission.GET_NETWORK_INFO
+**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
@@ -152,7 +153,7 @@ networkManager.getIpAddress(wantTemp, "eth0", (error, result) => {
getIpAddress(admin: Want, networkInterface: string): Promise<string>
-Obtains the device IP address based on the given network interface through a device administrator application. This API uses a promise to return the result.
+Obtains the device IP address based on the given network interface through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
@@ -200,7 +201,7 @@ networkManager.getIpAddress(wantTemp, "eth0").then((result) => {
getMac(admin: Want, networkInterface: string, callback: AsyncCallback<string>): void
-Obtains the device MAC address based on the given network interface through a device administrator application. This API uses an asynchronous callback to return the result.
+Obtains the device MAC address based on the given network interface through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
@@ -245,7 +246,7 @@ networkManager.getMac(wantTemp, "eth0", (error, result) => {
getIpAddress(admin: Want, networkInterface: string): Promise<string>
-Obtain the device MAC address based on the given network interface through a device administrator application. This API uses a promise to return the result.
+Obtain the device MAC address based on the given network interface through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
@@ -288,3 +289,191 @@ networkManager.getMac(wantTemp, "eth0").then((result) => {
console.log("error code:" + error.code + " error message:" + error.message);
});
```
+
+## networkManager.isNetworkInterfaceDisabled
+
+isNetworkInterfaceDisabled(admin: Want, networkInterface: string, callback: AsyncCallback<boolean>): void
+
+Checks whether a network interface is disabled through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application that obtains the information. |
+| networkInterface | string | Yes | Network interface. |
+| callback | AsyncCallback<boolean> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**, and **data** indicates whether the network interface is disabled. The value **true** means the network interface is disabled; and **false** means the opposite. If the operation fails, **err** is an error object. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | The application is not an administrator application of the device. |
+| 9200002 | The administrator application does not have permission to manage the device.|
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+networkManager.isNetworkInterfaceDisabled(wantTemp, "eth0", (error, result) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ return;
+ }
+ console.log("result:" + result);
+});
+```
+
+## networkManager.isNetworkInterfaceDisabled
+
+isNetworkInterfaceDisabled(admin: Want, networkInterface: string): Promise<boolean>
+
+Checks whether a network interface is disabled through the specified device administrator application. This API uses a promise to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_GET_NETWORK_INFO
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application that obtains the information.|
+| networkInterface | string | Yes | Network interface. |
+
+**Return value**
+
+| Type | Description |
+| --------------------- | ------------------------- |
+| Promise<boolean> | Promise used to return the result. The value **true** means the network interface is disabled, and the value **false** means the opposite. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | The application is not an administrator application of the device. |
+| 9200002 | The administrator application does not have permission to manage the device.|
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+networkManager.isNetworkInterfaceDisabled(wantTemp, "eth0").then((result) => {
+ console.log("result:" + result);
+}).catch(error => {
+ console.log("error code:" + error.code + " error message:" + error.message);
+});
+```
+
+## networkManager.setNetworkInterfaceDisabled
+
+setNetworkInterfaceDisabled(admin: Want, networkInterface: string, isDisabled: boolean, callback: AsyncCallback<void>): void
+
+Sets a network interface through the specified device administrator application. This API uses an asynchronous callback to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_NETWORK
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| -------- | ---------------------------------------- | ---- | ------------------------------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application that obtains the information. |
+| networkInterface | string | Yes | Network interface. |
+| isDisabled | boolean | Yes | Network interface status to set. The value **true** means to disable the network interface, and **false** means to enable the network interface. |
+| callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | The application is not an administrator application of the device. |
+| 9200002 | The administrator application does not have permission to manage the device.|
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+networkManager.setNetworkInterfaceDisabled(wantTemp, "eth0", true, (error) => {
+ if (error != null) {
+ console.log("error code:" + error.code + " error message:" + error.message);
+ return;
+ }
+ console.log("setNetworkInterfaceDisabled success!");
+});
+```
+
+## networkManager.setNetworkInterfaceDisabled
+
+setNetworkInterfaceDisabled(admin: Want, networkInterface: string, isDisabled: boolean): Promise<void>
+
+Sets a network interface through the specified device administrator application. This API uses a promise to return the result.
+
+**Required permissions**: ohos.permission.ENTERPRISE_SET_NETWORK
+
+**System capability**: SystemCapability.Customization.EnterpriseDeviceManager
+
+**System API**: This is a system API.
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ----- | ----------------------------------- | ---- | ------- |
+| admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application that obtains the information.|
+| networkInterface | string | Yes | Network interface. |
+| isDisabled | boolean | Yes | Network interface status to set. The value **true** means to disable the network interface, and **false** means to enable the network interface. |
+
+**Return value**
+
+| Type | Description |
+| --------------------- | ------------------------- |
+| Promise<void> | Promise that returns no value. An error object is thrown if the network interface fails to be disabled. |
+
+**Error codes**
+
+For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md).
+
+| ID| Error Message |
+| ------- | ---------------------------------------------------------------------------- |
+| 9200001 | The application is not an administrator application of the device. |
+| 9200002 | The administrator application does not have permission to manage the device.|
+
+**Example**
+
+```js
+let wantTemp = {
+ bundleName: "com.example.myapplication",
+ abilityName: "EntryAbility",
+};
+networkManager.setNetworkInterfaceDisabled(wantTemp, "eth0", true).then(() => {
+ console.log("setNetworkInterfaceDisabled success!");
+}).catch(error => {
+ console.log("error code:" + error.code + " error message:" + error.message);
+});
+```
diff --git a/en/application-dev/reference/apis/js-apis-enterprise-wifiManager.md b/en/application-dev/reference/apis/js-apis-enterprise-wifiManager.md
index 2f701bc29d707d801def9950042c720cb6754c12..6990aa1fa577b600a2eeb9bafd5d0725f922ccb3 100644
--- a/en/application-dev/reference/apis/js-apis-enterprise-wifiManager.md
+++ b/en/application-dev/reference/apis/js-apis-enterprise-wifiManager.md
@@ -4,7 +4,8 @@ The **wifiManager** module provides APIs for Wi-Fi management of enterprise devi
> **NOTE**
>
-> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+> - The APIs of this module can be called only after a [device administrator application](js-apis-enterprise-adminManager.md#adminmanagerenableadmin) is enabled.
## Modules to Import
@@ -16,7 +17,7 @@ import wifiManager from '@ohos.enterprise.wifiManager';
isWifiActive(admin: Want, callback: AsyncCallback<boolean>): void
-Checks whether Wi-Fi is active through a device administrator application. This API uses an asynchronous callback to return the result.
+Checks whether Wi-Fi is active through the specified device administrator application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_WIFI
@@ -52,7 +53,7 @@ wifiManager.isWifiActive(wantTemp, (error, result) => {
console.log("error code:" + error.code + " error message:" + error.message);
return;
}
- console.log(result);
+ console.log("result:" + result);
});
```
@@ -60,7 +61,7 @@ wifiManager.isWifiActive(wantTemp, (error, result) => {
isWifiActive(admin: Want): Promise<boolean>
-Checks whether Wi-Fi is active through a device administrator application. This API uses a promise to return the result.
+Checks whether Wi-Fi is active through the specified device administrator application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.ENTERPRISE_SET_WIFI
@@ -97,7 +98,7 @@ let wantTemp = {
abilityName: "EntryAbility",
};
wifiManager.isWifiActive(wantTemp).then((result) => {
- console.log(result);
+ console.log("result:" + result);
}).catch(error => {
console.log("error code:" + error.code + " error message:" + error.message);
});
@@ -139,7 +140,7 @@ let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
};
-let profile : WifiProfile = {
+let profile : wifiManager.WifiProfile = {
"ssid": "name",
"preSharedKey": "passwd",
"securityType": wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
@@ -194,12 +195,12 @@ let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
};
-let profile : WifiProfile = {
+let profile : wifiManager.WifiProfile = {
"ssid": "name",
"preSharedKey": "passwd",
"securityType": wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
};
-wifiManager.isWifiActive(wantTemp, profile).then(() => {
+wifiManager.setWifiProfile(wantTemp, profile).then(() => {
console.log("set wifi success");
}).catch(error => {
console.log("error code:" + error.code + " error message:" + error.message);
diff --git a/en/application-dev/reference/apis/js-apis-font.md b/en/application-dev/reference/apis/js-apis-font.md
new file mode 100644
index 0000000000000000000000000000000000000000..0b7d7fb3abcb1353d022e70ea785f6454cd422b4
--- /dev/null
+++ b/en/application-dev/reference/apis/js-apis-font.md
@@ -0,0 +1,64 @@
+# @ohos.font (Custom Font Registration)
+
+The **font** module provides APIs for registering custom fonts.
+
+> **NOTE**
+>
+> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+
+## Modules to Import
+
+```ts
+import font from '@ohos.font'
+```
+
+## font.registerFont
+
+registerFont(options: FontOptions): void
+
+Registers a custom font with the font manager.
+
+**System capability**: SystemCapability.ArkUI.ArkUI.Full
+
+**Parameters**
+
+| Name | Type | Mandatory | Description |
+| ------- | --------------------------- | ---- | ----------- |
+| options | [FontOptions](#fontoptions) | Yes | Information about the custom font to register.|
+
+## FontOptions
+
+| Name | Type | Mandatory | Description |
+| ---------- | ------ | ---- | ------------ |
+| familyName | string | Yes | Name of the custom font to register. |
+| familySrc | string | Yes | Path of the custom font to register.|
+
+## Example
+
+```ts
+// xxx.ets
+import font from '@ohos.font';
+
+@Entry
+@Component
+struct FontExample {
+ @State message: string =' Hello, World'
+
+ aboutToAppear() {
+ font.registerFont({
+ familyName: 'medium',
+ familySrc: '/font/medium.ttf'
+ })
+ }
+
+ build() {
+ Column() {
+ Text(this.message)
+ .align(Alignment.Center)
+ .fontSize(20)
+ .fontFamily('medium') // medium: name of the custom font to register.
+ .height('100%')
+ }.width('100%')
+ }
+}
+```
diff --git a/en/application-dev/reference/apis/js-apis-system-date-time.md b/en/application-dev/reference/apis/js-apis-system-date-time.md
index b7ea33fa58a283e44810a1a453dc4a01f44f2678..c457247270be59898c2328e95b015d442cf41382 100644
--- a/en/application-dev/reference/apis/js-apis-system-date-time.md
+++ b/en/application-dev/reference/apis/js-apis-system-date-time.md
@@ -128,7 +128,7 @@ Obtains the time elapsed since the Unix epoch. This API uses an asynchronous cal
| Name | Type | Mandatory| Description |
| -------- | ----------- | ---- | ---------------------------------- |
-| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch. |
+| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch, in milliseconds. |
**Example**
diff --git a/en/application-dev/reference/apis/js-apis-system-time.md b/en/application-dev/reference/apis/js-apis-system-time.md
index ebeafe6fb89160110767d14fe06ef6ccf2365550..1d236cc303bf5efc8b2d7ef5300d42df2e43c8a2 100644
--- a/en/application-dev/reference/apis/js-apis-system-time.md
+++ b/en/application-dev/reference/apis/js-apis-system-time.md
@@ -191,7 +191,7 @@ Obtains the time elapsed since the Unix epoch. This API uses a promise to return
| Name| Type | Mandatory| Description |
| ------ | ------- | ---- | ------------------------- |
-| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.|
+| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.
Default value: **false** |
**Return value**
@@ -310,7 +310,7 @@ Obtains the time elapsed since system startup, excluding the deep sleep time. Th
| Name| Type | Mandatory| Description |
| ------ | ------- | ---- | ----------------------------------- |
-| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.|
+| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.
Default value: **false** |
**Return value**
@@ -429,7 +429,7 @@ Obtains the time elapsed since system startup, including the deep sleep time. Th
| Name| Type | Mandatory| Description |
| ------ | ------- | ---- | ------------------------------- |
-| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.|
+| isNano | boolean | No | Whether the time to return is in nanoseconds.
- **true**: in nanoseconds.
- **false**: in milliseconds.
Default value: **false** |
**Return value**
diff --git a/en/release-notes/OpenHarmony-v3.2-beta5.md b/en/release-notes/OpenHarmony-v3.2-beta5.md
index 3dd8c303fa230e852ccb018b17dd0edf0fc63056..97d2b1e77fbe06c0d477a315e9354b06c0aa944a 100644
--- a/en/release-notes/OpenHarmony-v3.2-beta5.md
+++ b/en/release-notes/OpenHarmony-v3.2-beta5.md
@@ -139,7 +139,7 @@ This version has the following updates to OpenHarmony 3.2 Beta4.
From this version on, only the public SDK is released. You can obtain the public SDK from the mirror or download it from DevEco Studio for your application development.
-To use the full SDK that contains system APIs, you must download the full code, compile and build an SDK file, and switch to the full SDK on DevEco Studio. For details about how to compile the full SDK using the source code, see [Full SDK Compilation Guide](../application-dev/quick-start/full-sdk-compile-guide.md).
+To use the full SDK that contains system APIs, you must download the full code, compile and build an SDK file, and switch to the full SDK on DevEco Studio. For details about how to compile the full SDK using the source code, see [Full SDK Compilation Guide](../application-dev/faqs/full-sdk-compile-guide.md).
### Feature Updates
diff --git a/en/release-notes/changelogs/v3.2-Release/Readme-EN.md b/en/release-notes/changelogs/v3.2-Release/Readme-EN.md
new file mode 100644
index 0000000000000000000000000000000000000000..5f58f851ac1b397530a0b4fc96256232eb22d8e7
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/Readme-EN.md
@@ -0,0 +1,13 @@
+# Readme
+
+- [Ability Framework](changelogs-ability.md)
+- [ArkUI](changelogs-arkui.md)
+- [Bundle Manager Subsystem](changelogs-bundlemanager.md)
+- [Input Method Framework](changelogs-imf.md)
+- [Resource Scheduler Subsystem](changelogs-resourceschedule.md)
+- [Theme Framework Subsystem - Screenlock](changelogs-screenlock.md)
+- [Telephony Subsystem](changelogs-telephony.md)
+- [Util Subsystem](changelogs-util.md)
+- [Theme Framework Subsystem - Wallpaper](changelogs-wallpaper.md)
+- [Web Subsystem](changelogs-web.md)
+
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-ability.md b/en/release-notes/changelogs/v3.2-Release/changelogs-ability.md
new file mode 100644
index 0000000000000000000000000000000000000000..b9367b4ce12ae9e48d0dbef5c628e4c0b7400b36
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-ability.md
@@ -0,0 +1,283 @@
+# Ability Framework Changelog
+
+## cl.ability.1 AreaMode APIs Changed
+
+Duplicate **AreaMode** APIs are deleted.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.common.d.ts | common.AreaMode | | Deleted |
+| application/Context.d.ts | AreaMode | | Deleted |
+
+
+**Adaptation Guide**
+
+Use **AreaMode** in **@ohos.app.ability.contextConstant.d.ts**.
+
+```ts
+import contextConstant from '@ohos.app.ability.contextConstant';
+let area: contextConstant.AreaMode = contextConstant.AreaMode.EL1;
+```
+
+## cl.ability.2 killProcessesBySelf Renamed
+
+The **killProcessesBySelf** API is renamed **killAllProcesses**.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------------ | ------------------ | ----------------------------------------------------- | -------- |
+| application/ApplicationContext | ApplicationContext | killProcessesBySelf(): Promise\; | Deleted |
+| application/ApplicationContext | ApplicationContext | killProcessesBySelf(callback: AsyncCallback\); | Deleted |
+| application/ApplicationContext | ApplicationContext | killAllProcesses(): Promise\; | Added |
+| application/ApplicationContext | ApplicationContext | killAllProcesses(callback: AsyncCallback\); | Added |
+
+
+**Adaptation Guide**
+
+The following code snippet shows how to call **killProcessesBySelf** in an application.
+
+Code before the change:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.killProcessesBySelf()
+```
+
+Code after the change:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.killAllProcesses()
+```
+
+## cl.ability.3 getProcessRunningInformation Renamed
+
+The **getProcessRunningInformation** API is renamed **getRunningProcessInformation**.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ----------------------------------- | ------------------ | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.appManager.d.ts | appManager | function getProcessRunningInformation(): Promise\\>; | Deleted |
+| @ohos.app.ability.appManager.d.ts | appManager | function getProcessRunningInformation(callback: AsyncCallback\\>): void; | Deleted |
+| @ohos.app.ability.appManager.d.ts | appManager | function getRunningProcessInformation(): Promise\\>; | Added |
+| @ohos.app.ability.appManager.d.ts | appManager | function getRunningProcessInformation(callback: AsyncCallback\\>): void; | Added |
+| application/ApplicationContext.d.ts | ApplicationContext | getProcessRunningInformation(): Promise\\>; | Deleted |
+| application/ApplicationContext.d.ts | ApplicationContext | getProcessRunningInformation(callback: AsyncCallback\\>): void; | Deleted |
+| application/ApplicationContext.d.ts | ApplicationContext | getRunningProcessInformation(): Promise\\>; | Added |
+| application/ApplicationContext.d.ts | ApplicationContext | getRunningProcessInformation(callback: AsyncCallback\\>): void; | Added |
+
+**Adaptation Guide**
+
+The following code snippet shows how to call **getProcessRunningInformation** in an application.
+
+Code before the change:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.getProcessRunningInformation()
+```
+
+Code after the change:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.getRunningProcessInformation()
+```
+
+## cl.ability.4 WantConstant.Flags API Changed
+
+**WantConstant.Flags** has multiple invalid flag definitions. These invalid flags are deleted.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_FORWARD_RESULT | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CONTINUATION | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_NOT_OHOS_COMPONENT | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_FORM_ENABLED | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_AUTH_PREFIX_URI_PERMISSION | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITYSLICE_MULTI_DEVICE | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_START_FOREGROUND_ABILITY | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CONTINUATION_REVERSIBLE | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_INSTALL_WITH_BACKGROUND_MODE | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CLEAR_MISSION | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_NEW_MISSION | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_MISSION_TOP | Deleted |
+
+## cl.ability.5 WantConstant.Action API Changed
+
+**WantConstant.Action** has multiple invalid action definitions. These invalid actions are deleted.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_APP_ACCOUNT_AUTH | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_MARKET_DOWNLOAD | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_MARKET_CROWDTEST | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_SANDBOX | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_BUNDLE_NAME | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_MODULE_NAME | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_ABILITY_NAME | Deleted |
+
+## cl.ability.6 Caller APIs Changed
+
+Caller APIs use the **Parcelable** and **MessageSequence** objects provided by RPC in API version 9 to replace the deprecated **Sequenceable** and **MessageParcel** object.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| api/@ohos.app.ability.UIAbility.d.ts | CalleeCallback | (indata: rpc.MessageParcel): rpc.Sequenceable; | Changed to **(indata: rpc.MessageSequence): rpc.Parcelable;**. |
+| api/@ohos.app.ability.UIAbility.d.ts | Caller | call(method: string, data: rpc.Sequenceable): Promise; | Changed to **call(method: string, data: rpc.Parcelable): Promise;**. |
+| api/@ohos.app.ability.UIAbility.d.ts | Caller | callWithResult(method: string, data: rpc.Sequenceable): Promise; | Changed to **callWithResult(method: string, data: rpc.Parcelable): Promise;**. |
+
+**Adaptation Guide**
+
+The following illustrates how to call the caller APIs in your application.
+
+Code before the change:
+
+```ts
+ class MyMessageAble{
+ name:""
+ str:""
+ num: 1
+ constructor(name, str) {
+ this.name = name;
+ this.str = str;
+ }
+ marshalling(messageParcel) {
+ messageParcel.writeInt(this.num);
+ messageParcel.writeString(this.str);
+ console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ unmarshalling(messageParcel) {
+ this.num = messageParcel.readInt();
+ this.str = messageParcel.readString();
+ console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ };
+ let method = 'call_Function';
+ function funcCallBack(pdata) {
+ console.log('Callee funcCallBack is called ' + pdata);
+ let msg = new MyMessageAble("test", "");
+ pdata.readSequenceable(msg);
+ return new MyMessageAble("test1", "Callee test");
+ }
+ export default class MainUIAbility extends UIAbility {
+ onCreate(want, launchParam) {
+ console.log('Callee onCreate is called');
+ try {
+ this.callee.on(method, funcCallBack);
+ } catch (error) {
+ console.log('Callee.on catch error, error.code: ' + error.code +
+ ' error.message: ' + error.message);
+ }
+ }
+ }
+```
+
+Code after the change:
+
+```ts
+ class MyMessageAble{
+ name:""
+ str:""
+ num: 1
+ constructor(name, str) {
+ this.name = name;
+ this.str = str;
+ }
+ marshalling(messageSequence) {
+ messageSequence.writeInt(this.num);
+ messageSequence.writeString(this.str);
+ console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ unmarshalling(messageSequence) {
+ this.num = messageSequence.readInt();
+ this.str = messageSequence.readString();
+ console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ };
+ let method = 'call_Function';
+ function funcCallBack(pdata) {
+ console.log('Callee funcCallBack is called ' + pdata);
+ let msg = new MyMessageAble("test", "");
+ pdata.readParcelable(msg);
+ return new MyMessageAble("test1", "Callee test");
+ }
+ export default class MainUIAbility extends UIAbility {
+ onCreate(want, launchParam) {
+ console.log('Callee onCreate is called');
+ try {
+ this.callee.on(method, funcCallBack);
+ } catch (error) {
+ console.log('Callee.on catch error, error.code: ' + error.code +
+ ' error.message: ' + error.message);
+ }
+ }
+ }
+```
+
+## cl.ability.7 WantConstant.Flags API Changed
+
+The **wantConstant** API had two similar enums. Now the two enums are combined into one.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ----------------------------------- | ---------------------- | ----------------------------------- | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Parameter | ABILITY_BACK_TO_OTHER_MISSION_STACK | Deleted |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Params | ABILITY_BACK_TO_OTHER_MISSION_STACK | Added |
+
+**Adaptation Guide**
+
+Use **ABILITY_BACK_TO_OTHER_MISSION_STACK** in **@ohos.app.ability.wantConstant.d.ts**.
+
+```ts
+import wantConstant from '@ohos.app.ability.wantConstant';
+let backToOtherMissionStack: wantConstant.Params = wantParam.Params.ABILITY_BACK_TO_OTHER_MISSION_STACK;
+```
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-arkui.md b/en/release-notes/changelogs/v3.2-Release/changelogs-arkui.md
new file mode 100644
index 0000000000000000000000000000000000000000..0a2bf8673fefe00b6736d5cd299e24e5f5acddf2
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-arkui.md
@@ -0,0 +1,308 @@
+# ArkUI Subsystem Changelog
+
+## cl.arkui.1 Return Value Type Change of getInspectorTree
+
+**Change Impact**
+
+The code that uses the **getInspectorTree** API in versions earlier than OpenHarmony 3.2.10.7 must be adapted.
+
+**Key API/Component Changes**
+
+The return value of the **getInspectorTree** API is changed from the string type to the Object type.
+
+**Adaptation Guide**
+
+Adapt the code that takes the return value of **getInspectorTree** as a string.The sample code is as follows:
+
+- Before change:
+
+```typescript
+console.info(getInspectorTree())
+```
+
+- After change:
+
+```typescript
+console.info(JSON.stringify(getInspectorTree()))
+```
+
+## cl.arkui.2 Deprecation the forceRebuild Attribute of \
+
+**Change Impact**
+
+None. The attribute has no effect.
+
+**Key API/Component Changes**
+
+Deprecate the **forceRebuild** attribute of the **\** component.
+
+**Adaptation Guide**
+
+Delete the code that uses the **forceRebuild** attribute. This will not affect the functionality of the **\** component.
+
+## cl.arkui.3 Plugin Module API Changes
+
+
+### 1. API Change in the **PluginComponentTemplate** Module
+
+Renamed the **ability** parameter **bundleName** to more clearly indicate the intended meaning.
+
+You need to adapt your application.
+
+
+
+**Change Impact**
+
+The application developed based on earlier versions must be adapted to the change. Otherwise, build errors will occur.
+
+
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ interface PluginComponentTemplate {
+ source: string;
+ bundleName: string;
+ }
+
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+}
+
+- Before change:
+
+```js
+ interface PluginComponentTemplate { source: string; ability: string; }
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+ }
+```
+
+- After change:
+
+```js
+ interface PluginComponentTemplate { source: string; bundleName: string; }
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+ }
+```
+
+**Adaptation Guide**
+
+Use the new API. The sample code is as follows:
+
+- Before change:
+```js
+PluginComponent({
+ template: { source: 'plugincomponent1', ability: 'com.example.plugin' },
+ data: { 'countDownStartValue': 'new countDownStartValue' }
+}).size({ width: 500, height: 100 })
+```
+
+- After change:
+```js
+PluginComponent({
+ template: { source: 'plugincomponent1', bundleName: 'com.example.plugin' },
+ data: { 'countDownStartValue': 'new countDownStartValue' }
+}).size({ width: 500, height: 100 })
+```
+
+### 2. API Change in the **pluginComponentManager** Module
+
+Renamed the **want** parameter **target** to more clearly indicate the intended meaning.
+
+You need to adapt your application.
+
+
+
+**Change Impact**
+
+The application developed based on earlier versions must be adapted to the change. Otherwise, alarms will arise. Though the build may be successful, the API will not work as intended.
+
+
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ interface PushParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback\): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback\): void;
+
+- Before change:
+
+```js
+ interface PushParameterForStage {
+ owner: Want;
+ want: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ want: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback): void;
+```
+
+- After change:
+
+```js
+ interface PushParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback): void;
+```
+
+**Adaptation Guide**
+
+Use the new API. The sample code is as follows:
+
+- Before change:
+```js
+import pluginComponentManager from '@ohos.pluginComponent'
+
+pluginComponentManager.push({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ want: {
+ bundleName: "com.example.provider",
+ abilityName: "com.example.provider.MainAbility",
+ },
+ name: "ets/pages/plugin2.js",
+ data: {
+ "js": "ets/pages/plugin.js",
+ "key_1": 1111,
+ },
+ extraData: {
+ "extra_str": "this is push event"
+ },
+ jsonPath: "",
+ },
+ (err, data) => {
+ console.log("push_callback:err: " ,JSON.stringify(err));
+ console.log("push_callback:data: " , JSON.stringify(data));
+ console.log("push_callback: push ok!");
+ }
+)
+
+pluginComponentManager.request({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ want: {
+ bundleName: "com.example.provider",
+ abilityName: "ets/pages/plugin2.js",
+ },
+ name: "plugintemplate",
+ data: {
+ "key_1": " myapplication plugin component test",
+ "key_2": 123456
+ },
+ jsonPath: "",
+},
+ (err, data) => {
+ console.log("request_callback: componentTemplate.ability=" + data.componentTemplate.ability)
+ console.log("request_callback: componentTemplate.source=" + data.componentTemplate.source)
+ }
+)
+```
+
+- After change:
+```js
+import pluginComponentManager from '@ohos.pluginComponent'
+
+pluginComponentManager.push({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ target: {
+ bundleName: "com.example.provider",
+ abilityName: "com.example.provider.MainAbility",
+ },
+ name: "ets/pages/plugin2.js",
+ data: {
+ "js": "ets/pages/plugin.js",
+ "key_1": 1111,
+ },
+ extraData: {
+ "extra_str": "this is push event"
+ },
+ jsonPath: "",
+ },
+ (err, data) => {
+ console.log("push_callback:err: " ,JSON.stringify(err));
+ console.log("push_callback:data: " , JSON.stringify(data));
+ console.log("push_callback: push ok!");
+ }
+)
+
+pluginComponentManager.request({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ target: {
+ bundleName: "com.example.provider",
+ abilityName: "ets/pages/plugin2.js",
+ },
+ name: "plugintemplate",
+ data: {
+ "key_1": " myapplication plugin component test",
+ "key_2": 123456
+ },
+ jsonPath: "",
+},
+ (err, data) => {
+ console.log("request_callback: componentTemplate.ability=" + data.componentTemplate.ability)
+ console.log("request_callback: componentTemplate.source=" + data.componentTemplate.source)
+ }
+)
+```
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md b/en/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md
new file mode 100644
index 0000000000000000000000000000000000000000..2aa79ad27454a6277da0bb106de84c3529593d58
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md
@@ -0,0 +1,298 @@
+# Bundle Manager Subsystem Changelog
+
+## cl.bundlemanager.1 Deleted getAbilityIcon
+
+The **getAbilityIcon** API in [@ohos.bundle.bundleManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts) is deleted. The **getMediaContent** API in [@ohos.resourceManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.resourceManager.d.ts) can be used instead.
+
+**Change Impact**
+The **getAbilityIcon** API does not take effect.
+
+**Key API/Component Changes**
+The **getAbilityIcon** API is deleted from **@ohos.bundle.bundleManager.d.ts**.
+
+**Adaptation Guide**
+If your application uses **getAbilityIcon** in **@ohos.bundle.bundleManager.d.ts**, replace it with **getMediaContent** in **@ohos.resourceManager.d.ts**. You need to obtain the icon ID in advance. For details, see [Usage Guide](../../../application-dev/reference/apis/js-apis-resource-manager.md#getmediacontent9).
+
+## cl.bundlemanager.2 Bottom-Layer Capability Changed So That Only the System Resource HAP Supports Custom Permissions
+
+Only the system resource HAP supports custom permissions. During HAP parsing, the bundle manager module parses the **definePermissions** field only in the configuration file of the resource HAP (bundle name: **ohos.global.systemres**), but not this field in other HAPs. This field is used to define permissions.
+If an application requires custom permissions, add the permissions under the **definePermissions** field in the [configuration file](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json) of the system resource HAP. For details about the permission format, see [Defining Permissions](../../../application-dev/quick-start/module-structure.md#internal-structure-of-the-definepermissions-attribute).
+
+
+**Change Impact**
+After an upgrade to the new version image, the custom permission of the application does not take effect, and the authorization fails.
+
+**Key API/Component Changes**
+The bottom-layer capability of the bundle manager module is changed. Only the system resource HAP supports custom permissions.
+
+**Adaptation Guide**
+If an application requires custom permissions, add the permissions under the **definePermissions** field in the [configuration file](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json) of the system resource HAP. For details about the permission format, see [Defining Permissions](../../../application-dev/quick-start/module-structure.md#internal-structure-of-the-definepermissions-attribute).
+
+## cl.bundlemanager.3 Level-2 Module File Names Changed
+
+The level-2 module file names of the bundle manager module are changed to their respective API names in the file, as listed below.
+
+| Original File Name|New File Name|
+|----|----|
+| bundleManager/abilityInfo.d.ts | bundleManager/AbilityInfo.d.ts |
+| bundleManager/applicationInfo.d.ts | bundleManager/ApplicationInfo.d.ts |
+| bundleManager/bundleInfo.d.ts | bundleManager/BundleInfo.d.ts |
+| bundleManager/dispatchInfo.d.ts | bundleManager/DispatchInfo.d.ts |
+| bundleManager/elementName.d.ts | bundleManager/ElementName.d.ts |
+| bundleManager/extensionAbilityInfo.d.ts | bundleManager/ExtensionAbilityInfo.d.ts |
+| bundleManager/hapModuleInfo.d.ts | bundleManager/HapModuleInfo.d.ts |
+| bundleManager/launcherAbilityInfo.d.ts | bundleManager/LauncherAbilityInfo.d.ts |
+| bundleManager/metadata.d.ts | bundleManager/Metadata.d.ts |
+| bundleManager/packInfo.d.ts | bundleManager/BundlePackInfo.d.ts |
+| bundleManager/permissionDef.d.ts | bundleManager/PermissionDef.d.ts |
+| bundleManager/remoteAbilityInfo.d.ts | bundleManager/RemoteAbilityInfo.d.ts |
+| bundleManager/shortcutInfo.d.ts | bundleManager/ShortcutInfo.d.ts |
+
+To sum up, except **packInfo**, which is changed to **BundlePackInfo**, the other file names are changed to start with uppercase letters.
+
+**Change Impact**
+The change of the level-2 module file names does not affect the use of the level-1 module. If a level-2 module interface under **bundleManager** is directly imported to the .ts file and an error is reported during compilation on DevEco Studio, you must change the name of the imported file.
+
+**Key API/Component Changes**
+The .d.ts file names in the **bundleManager** folder are changed to their respective API names in the file.
+
+**Adaptation Guide**
+Generally, no adaptation is required. If a file in the **bundleManager** folder is directly imported to the application, you must change the imported file name as follows:
+
+**Before change:**
+```ts
+import {AbilityInfo} from 'bundleManger/abilityInfo';
+import {ExtensionAbilityInfo} from 'bundleManger/extensionAbilityInfo';
+import {BundlePackInfo} from 'bundleManger/packInfo';
+```
+**After change:**
+```ts
+import {AbilityInfo} from 'bundleManger/AbilityInfo';
+import {ExtensionAbilityInfo} from 'bundleManger/ExtensionAbilityInfo';
+import {BundlePackInfo} from 'bundleManger/BundlePackInfo';
+```
+
+## cl.bundlemanager.4 LaunchType Enum Type Name Changed from STANDARD to MULTITON
+
+The enum type name of [LaunchType](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts) is changed from **STANDARD** to **MULTITON**. The enum value remains unchanged, indicating the multi-instance type.
+
+**Change Impact**
+The **LaunchType.STANDARD** type does not take effect.
+
+**Key API/Component Changes**
+The enum type name of **LaunchType** is changed from **STANDARD** to **MULTITON**.
+
+**Adaptation Guide**
+Change **LaunchType.STANDARD** to **LaunchType.MULTITON** for your application.
+
+## cl.bundlemanager.5 Changed the isVisible Field in the AbilityInfo Struct to exported
+
+The **isVisible** field in the [AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
+
+**Change Impact**
+The **isVisible** field does not take effect.
+
+**Key API/Component Changes**
+The **isVisible** field in the [AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
+
+**Adaptation Guide**
+Change **isVisible** to **exported** for your application.
+
+## cl.bundlemanager.6 Changed the isVisible Field in the ExtensionAbilityInfo Struct to exported
+
+The **isVisible** field in the [ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
+
+**Change Impact**
+The **isVisible** field does not take effect.
+
+**Key API/Component Changes**
+The **isVisible** field in the [ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
+
+**Adaptation Guide**
+Change **isVisible** to **exported** for your application.
+
+## cl.bundlemanager.7 Changed the visible Field in the ModuleAbilityInfo Struct to exported
+
+The **visible** field in the [ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
+
+**Change Impact**
+The **visible** field does not take effect.
+
+**Key API/Component Changes**
+The **visible** field in the [ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
+
+**Adaptation Guide**
+Change **visible** to **exported** for your application.
+
+## cl.bundlemanager.8 Deleted the distributedNotificationEnabled Tag from the app.json Configuration File
+The [distributedNotificationEnabled](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.9 Deleted the entityType Tag from the app.json Configuration File
+The [entityType](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.10 Deleted the keepAlive Tag from the app.json Configuration File
+The [keepAlive](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.11 Deleted the removable Tag from the app.json Configuration File
+The [removable](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.12 Deleted the singleton Tag from the app.json Configuration File
+The [singleton](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.13 Deleted the userDataClearable Tag from the app.json Configuration File
+The [userDataClearable](../../../application-dev/quick-start/app-configuration-file.md) tag is deleted from the **app.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.14 No Longer Chinese Characters for the name Tag under module in the module.json Configuration File
+The value of [name](../../../application-dev/quick-start/module-configuration-file.md) under **module** in the **module.json** configuration file does not support Chinese characters.
+
+**Change Impact**
+If the tag is set to Chinese, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Set this tag to English.
+
+## cl.bundlemanager.15 No Longer Chinese Characters for the name Tag under ability in the module.json Configuration File
+The value of [name](../../../application-dev/quick-start/module-configuration-file.md) under **ability** in the **module.json** configuration file does not support Chinese characters.
+
+**Change Impact**
+If the tag is set to Chinese, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Set this tag to English.
+
+## cl.bundlemanager.16 Deleted the uiSyntax Tag from the module.json Configuration File
+The [uiSyntax](../../../application-dev/quick-start/module-configuration-file.md) tag is deleted from the **module.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.17 Changed srcEntrance to srcEntry in the module.json Configuration File
+The [srcEntrance](../../../application-dev/quick-start/module-configuration-file.md) tag under **module** and **ability** in the **module.json** configuration file is changed to **srcEntry**.
+
+**Change Impact**
+If the **srcEntrance** tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Replace the **srcEntrance** tag with **srcEntry** in the configuration file.
+
+## cl.bundlemanager.18 Deleted the apiVersion Tag Under distroFilter from the module.json Configuration File
+The **apiVersion** tag under [distroFilter](../../../application-dev/quick-start/module-configuration-file.md) is deleted from the **module.json** configuration file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete this tag from the configuration file.
+
+## cl.bundlemanager.19 Changed distroFilter to distributionFilter in the module.json Configuration File
+The [distroFilter](../../../application-dev/quick-start/module-configuration-file.md) tag in the **module.json** configuration file is changed to **distributionFilter**.
+
+**Change Impact**
+If the **distroFilter** tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Replace **distroFilter** with **distributionFilter** in the configuration file.
+
+## cl.bundlemanager.20 Changed standard of launchType to multiton in the module.json Configuration File
+The **standard** mode of the [launchType](../../../application-dev/quick-start/module-configuration-file.md) tag in the **module.json** file is changed to **multiton**.
+
+**Adaptation Guide**
+Replace **standard** of **launchType** to **multiton** in the configuration file.
+
+## cl.bundlemanager.21 Deleted the atomicService Tag from the app.json File
+The **atomicService** tag is deleted from the **app.json** file.
+
+**Change Impact**
+If this tag is used, an error is reported during compilation on DevEco Studio.
+
+**Adaptation Guide**
+Delete the **atomicService** tag from your code.
+
+## cl.bundlemanager.22 Added the bundleType Tag to the app.json File
+The **bundleType** tag is added to the **app.json** file.
+
+**Change Impact**
+For an existing ability with [installationFree](../../../application-dev/quick-start/module-configuration-file.md) set to **true**, **bundleType** must be set to **atomicService** in the **app.json** file. Otherwise, the packaging fails.
+
+**Adaptation Guide**
+Add the [bundleType](../../../application-dev/quick-start/app-configuration-file.md) tag. This tag can be left blank. The default value is **app**. The setting of this tag and the [installationFree](../../../application-dev/quick-start/module-configuration-file.md) field in the **module.json** file must meet the following rules:
+- If **bundleType** is **app**, **installationFree** must be set to **false**.
+- If **bundleType** is **atomicService**, **installationFree** must be set to **true**.
+
+## cl.bundlemanager.23 Deleted the split Field from the ApplicationInfo Struct
+
+The **split** field is deleted from the [ApplicationInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ApplicationInfo.d.ts) struct.
+
+**Change Impact**
+If the **split** field is used in your code, the compilation fails.
+
+**Key API/Component Changes**
+The **split** field is deleted from the [ApplicationInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ApplicationInfo.d.ts) struct.
+
+**Adaptation Guide**
+Delete the **split** field from the **ApplicationInfo** struct of your code. The stage model always forcibly splits bundles.
+
+## cl.bundlemanager.24 Deleted the atomicServiceModuleType Field from the HapModuleInfo Struct
+
+The **atomicServiceModuleType** field is deleted from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct.
+
+**Change Impact**
+If the **atomicServiceModuleType** field is used in your code, the compilation fails.
+
+**Key API/Component Changes**
+The **atomicServiceModuleType** field is deleted from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct.
+
+**Adaptation Guide**
+Record the setting of the **atomicServiceModuleType** field, delete it from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct, and set the **moduleType** field in the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct to the recorded value.
+
+## cl.bundlemanager.25 Deleted the AtomicServiceModuleType Enumerated Value
+
+The **atomicServiceModuleType** field is deleted from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct.
+
+**Change Impact**
+If the **atomicServiceModuleType** field is used in your code, the compilation fails.
+
+**Key API/Component Changes**
+The **atomicServiceModuleType** field is deleted from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct.
+
+**Adaptation Guide**
+Record the setting of the **atomicServiceModuleType** field, delete it from the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct, and set the **moduleType** field in the [HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts) struct to the recorded value.
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-imf.md b/en/release-notes/changelogs/v3.2-Release/changelogs-imf.md
new file mode 100644
index 0000000000000000000000000000000000000000..f158d99d9a0023c67ad982fc6b687563121f4dac
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-imf.md
@@ -0,0 +1,19 @@
+# Input Method Framework Subsystem – Input Method Framework Service Changelog
+
+
+## @ohos.InputMethodSubtype Change of name, label, and id
+Changed the **name**, **label**, and **id** attributes since API version 9.
+
+**Change Impact**
+
+Applications must be adapted to the following changes.
+
+| Name| Before Change| After Change|
+| -------- | -------- | -------- |
+| label | (1) Value: ID of the input method subtype.| (1) Value: Label of the input method subtype.|
+| name | (1) Description: Name of the input method subtype. (2) Value: Label of the input method subtype.| (1) Description: Bundle name of the input method; (2) Value: Bundle name of the input method.|
+| id | (1) Value: Bundle name of the input method.| (1) Value: ID of the input method subtype.|
+
+**Adaptation Guide**
+
+Update the code to adapt to the preceding changes.
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md b/en/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md
new file mode 100644
index 0000000000000000000000000000000000000000..283f2796178e294f68f755ea2570f7cc1a24a634
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md
@@ -0,0 +1,21 @@
+# Resource Scheduler Subsystem Changelog
+
+## cl.resourceschedule.workScheduler
+The data type of the **parameters** attribute value is changed. Specifically, the number, string, and boolean types are supported, but the any type is not.
+
+**Change Impact**
+
+For applications developed based on OpenHarmony3.2.10.7 and later SDK versions, the **parameters** attribute value can use the number, string, and boolean types only. If it uses the any type, a compilation error is reported.
+
+**Key API/Component Changes**
+
+The **parameters** attribute in @ohos.resourceschedule.workScheduler.d.ts is changed.
+
+| Class| API Type| Statement Before the Change| Statement After the Change|
+| -- | -- | -- | -- |
+| workScheduler.WorkInfo | field | parameters?: {[key: string]: any} | parameters?: {[key: string]: number | string | boolean} |
+
+
+**Adaptation Guide**
+
+The **parameters** attribute uses the {[key: string]: number | string | boolean} data type.
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md b/en/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md
new file mode 100644
index 0000000000000000000000000000000000000000..deeaac319aecfd4ba2824b8f23370d6fe2601adc
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md
@@ -0,0 +1,157 @@
+# Theme Framework Subsystem – Screenlock Management Service Changelog
+
+
+## cl.screenlock.1 Permission Change of isLocked and unlock
+Changed the **isLocked** and **unlock** APIs to system APIs since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The JS API needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected.
+
+- Involved APIs:
+
+```js
+ function isLocked(): boolean;
+ function unlock(callback: AsyncCallback): void;
+ function unlock():Promise;
+```
+
+- Before change:
+
+```js
+ * Checks whether the screen is currently locked.
+ *
+ * @returns Returns {@code true} if the screen is currently locked; returns {@code false} otherwise.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function isLocked(): boolean;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function unlock(callback: AsyncCallback): void;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function unlock():Promise;
+```
+
+- After change:
+
+```js
+ * Checks whether the screen is currently locked.
+ *
+ * @returns Returns {@code true} if the screen is currently locked; returns {@code false} otherwise.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function isLocked(): boolean;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function unlock(callback: AsyncCallback): void;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function unlock():Promise;
+```
+
+
+**Adaptation Guide**
+
+Make sure the APIs are only invoked by system applications.
+
+The code snippet is as follows:
+
+```js
+ try {
+ let ret = screenLock.isLocked();
+ console.error(`Obtain whether the screen is locked successfully , ret is: ${ret}`);
+ } catch (error) {
+ console.error(`Failed to obtain whether the screen is locked, error is : ${error.code}, ${error.message}`);
+ }
+```
+
+```js
+ screenlock.unlock((err, data) => {
+ if (err) {
+ console.error(`Failed to unlock the screen, because: ${err.message}`);
+ return;
+ }
+ console.info(`unlock the screen successfully. result: ${data}`);
+ });
+```
+
+```js
+ screenlock.unlock().then((data) => {
+ console.info(`unlock the screen successfully. result: ${data}`);
+ }).catch((err) => {
+ console.error(`Failed to unlock the screen, because: ${err.message}`);
+ });
+```
+
+
+## cl.screenlock.2 Deprecation of isSecure
+Deprecated the **isSecure** API since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The API can no longer be used after being deleted.
+
+- Involved APIs:
+
+```js
+ function isSecure(): boolean;
+```
+
+- Before change:
+
+```js
+ function isSecure(): boolean;
+```
+
+- After change:
+
+ The API is deleted.
+
+
+**Adaptation Guide**
+
+Update the code so that the deprecated API is not used.
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-telephony.md b/en/release-notes/changelogs/v3.2-Release/changelogs-telephony.md
new file mode 100644
index 0000000000000000000000000000000000000000..b39b2012c1a52d6bce9bf7f3f2955fd6e49e4ce7
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-telephony.md
@@ -0,0 +1,223 @@
+# Telephony Subsystem Changelog
+
+
+
+## cl.telephony.1 Call Module reject API Change
+Changed the `reject` API to the `rejectCall` API in the call module of the telephony subsystem since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The `reject` API is deprecated and cannot be used anymore. Use the `rejectCall` API instead. Otherwise, relevant functions will be affected.
+
+- Involved APIs:
+
+```js
+ function reject(callId: number, callback: AsyncCallback): void;
+ function reject(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function reject(callId?: number, options?: RejectMessageOptions): Promise;
+ function reject(callback: AsyncCallback): void;
+ function reject(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+- Before change:
+
+```js
+ function reject(callId: number, callback: AsyncCallback): void;
+ function reject(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function reject(callId?: number, options?: RejectMessageOptions): Promise;
+ function reject(callback: AsyncCallback): void;
+ function reject(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+- After change:
+
+```js
+ function rejectCall(callId: number, callback: AsyncCallback): void;
+ function rejectCall(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function rejectCall(callId?: number, options?: RejectMessageOptions): Promise;
+ function rejectCall(callback: AsyncCallback): void;
+ function rejectCall(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+
+**Adaptation Guide**
+
+The `reject` API is deprecated and cannot be used anymore. Use the `rejectCall` API instead.
+Use the new API. The sample code is as follows:
+
+```js
+call.rejectCall("138xxxxxxxx", (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "Unknown number blocked"
+}
+let promise = call.rejectCall(1, rejectMessageOptions);
+promise.then(data => {
+ console.log(`rejectCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`rejectCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "Unknown number blocked"
+}
+let promise = call.rejectCall(1, rejectMessageOptions);
+promise.then(data => {
+ console.log(`rejectCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`rejectCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.rejectCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "Unknown number blocked"
+}
+call.rejectCall(rejectMessageOptions, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+## cl.telephony.2 Call Module answer API Change
+Changed the `answer` API to the `answerCall` API in the call module of the telephony subsystem since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The `answer` API is deprecated and cannot be used anymore. Use the `answerCall` API instead. Otherwise, relevant functions will be affected.
+
+- Involved APIs:
+
+```js
+ function answer(callId: number, callback: AsyncCallback): void;
+ function answer(callId?: number): Promise;
+ function answer(callback: AsyncCallback): void;
+```
+
+- Before change:
+
+```js
+ function answer(callId: number, callback: AsyncCallback): void;
+ function answer(callId?: number): Promise;
+ function answer(callback: AsyncCallback): void;
+```
+
+- After change:
+
+```js
+ function answerCall(callId: number, callback: AsyncCallback): void;
+ function answerCall(callId?: number): Promise;
+ function answerCall(callback: AsyncCallback): void;
+```
+
+
+**Adaptation Guide**
+
+The `answer` API is deprecated and cannot be used anymore. Use the `answerCall` API instead.
+Use the new API. The sample code is as follows:
+
+```js
+call.answerCall(1, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let promise = call.answerCall(1);
+promise.then(data => {
+ console.log(`answerCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`answerCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.answerCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+## cl.telephony.1 Call Module hangup API Change
+Changed the `hangup` API to the `hangUpCall` API in the call module of the telephony subsystem since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The `hangup` API is deprecated and cannot be used anymore. Use the `hangUpCall` API instead. Otherwise, relevant functions will be affected.
+
+- Involved APIs:
+
+```js
+ function hangup(callId: number, callback: AsyncCallback): void;
+ function hangup(callId?: number): Promise;
+ function hangup(callback: AsyncCallback): void;
+```
+
+- Before change:
+
+```js
+ function hangup(callId: number, callback: AsyncCallback): void;
+ function hangup(callId?: number): Promise;
+ function hangup(callback: AsyncCallback): void;
+```
+
+- After change:
+
+```js
+ function hangUpCall(callId: number, callback: AsyncCallback): void;
+ function hangUpCall(callId?: number): Promise;
+ function hangUpCall(callback: AsyncCallback): void;
+```
+
+
+**Adaptation Guide**
+
+The `hangup` API is deprecated and cannot be used anymore. Use the `hangUpCall` API instead.
+Use the new API. The sample code is as follows:
+
+```js
+call.hangUpCall(1, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let promise = call.hangUpCall(1);
+promise.then(data => {
+ console.log(`hangUpCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`hangUpCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.hangUpCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-util.md b/en/release-notes/changelogs/v3.2-Release/changelogs-util.md
new file mode 100644
index 0000000000000000000000000000000000000000..52035aa2be49e1f11d72e91ec65f413112f5f13a
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-util.md
@@ -0,0 +1,99 @@
+# Util Subsystem Changelog
+
+Compared with OpenHarmony 3.2 Beta4, OpenHarmony 3.2.10.7(MR) has the following API changes in the util subsystem.
+
+## cl.util.1. randomUUID Name Changed
+The **randomUUID** function name is changed to **generateRandomUUID**.
+
+Before change: function randomUUID(entropyCache?: boolean): string
After change: function generateRandomUUID(entropyCache?: boolean): string
+
+You need to adapt your application.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Method/Attribute/Enum/Constant | Change Type|
+| :---------- | ------------------- | ------- |
+| @ohos.util | function randomUUID(entropyCache?: boolean): string | Deleted |
+| @ohos.util | function generateRandomUUID(entropyCache?: boolean): string| Added |
+
+**Adaptation Guide**
+
+Refer to the code snippet below to call **generateRandomUUID** in your application.
+
+Example:
+
+```ts
+import util from '@ohos.util'
+let uuid = util.generateRandomUUID(true);
+console.log("RFC 4122 Version 4 UUID:" + uuid);
+// Output:
+// RFC 4122 Version 4 UUID:88368f2a-d5db-47d8-a05f-534fab0a0045
+```
+
+## cl.util.2 randomBinaryUUID Name Changed
+The **randomBinaryUUID** function name is changed to **generateRandomBinaryUUID**.
+
+Before change: function randomBinaryUUID(entropyCache?: boolean): Uint8Array
After change: function generateRandomBinaryUUID(entropyCache?: boolean): Uint8Array
+
+You need to adapt your application.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Method/Attribute/Enum/Constant | Change Type|
+| :---------- | ------------------- | ------- |
+| @ohos.util | function randomBinaryUUID(entropyCache?: boolean): Uint8Array; | Deleted |
+| @ohos.util | function generateRandomBinaryUUID(entropyCache?: boolean): Uint8Array| Added |
+
+**Adaptation Guide**
+
+Refer to the code snippet below to call **generateRandomBinaryUUID** in your application.
+
+Example:
+
+```ts
+import util from '@ohos.util'
+let uuid = util.generateRandomBinaryUUID(true);
+console.log(JSON.stringify(uuid));
+// Output:
+// 138,188,43,243,62,254,70,119,130,20,235,222,199,164,140,150
+```
+
+## cl.util.3. contains Parameter Type in the LRUCache Class Changed
+The **contains** parameter type in the LRUCache class is changed from **object** to **K**.
+
+Before change: contains(key: object): boolean
After change: contains(key: K): boolean
+
+You need to adapt your application.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| :-------- | ---------| -------------------------------- | -------- |
+| @ohos.util | LRUCache | contains(key: object): boolean | Deleted |
+| @ohos.util | LRUCache | contains(key: K): boolean | Added |
+
+**Adaptation Guide**
+
+Follow the code snippet to use the **contains** function in your application.
+
+Example:
+
+```ts
+import util from '@ohos.util'
+let pro = new util.LRUCache();
+pro.put(2,10);
+let obj = {1:"key"};
+let result = pro.contains(obj);
+```
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md b/en/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md
new file mode 100644
index 0000000000000000000000000000000000000000..18fff418c0723c7508f6c7eacdb318b95758402b
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md
@@ -0,0 +1,306 @@
+# Theme Framework Subsystem – Wallpaper Management Service Changelog
+
+
+## cl.wallpaper.1 Permission Change of getColorsSync, getMinHeightSync, getMinWidthSync, restore, and setImage
+Changed the **getColorsSync**, **getMinHeightSync**, **getMinWidthSync**, restore, and **setImage** APIs to system APIs since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The JS API needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected.
+
+- Involved APIs:
+
+```js
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+ function getMinHeightSync(): number;
+ function getMinWidthSync(): number;
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+ function restore(wallpaperType: WallpaperType): Promise;
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+- Before change:
+
+```js
+ /**
+ * Obtains the wallpaper colors for the wallpaper of the specified type. Returns rgbaColor type of array callback function.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @returns { Array } the Array returned by the function.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+
+ /**
+ * Obtains the minimum height of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getMinHeightSync(): number;
+
+ /**
+ * Obtains the minimum width of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getMinWidthSync(): number;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType): Promise;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+- After change:
+
+```js
+ /**
+ * Obtains the wallpaper colors for the wallpaper of the specified type. Returns rgbaColor type of array callback function.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @returns { Array } the Array returned by the function.
+ * @throws {BusinessError} 401 - parameter error.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+
+ /**
+ * Obtains the minimum height of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getMinHeightSync(): number;
+
+ /**
+ * Obtains the minimum width of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getMinWidthSync(): number;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType): Promise;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+
+**Adaptation Guide**
+
+Make sure the APIs are only invoked by system applications.
+
+The code snippet is as follows:
+
+```js
+ try {
+ let colors = wallpaper.getColorsSync(wallpaper.WallpaperType.WALLPAPER_SYSTEM);
+ console.log(`success to getColorsSync: ${JSON.stringify(colors)}`);
+ } catch (error) {
+ console.error(`failed to getColorsSync because: ${JSON.stringify(error)}`);
+ }
+```
+
+```js
+ let minHeight = wallpaper.getMinHeightSync();
+```
+
+```js
+ let minWidth = wallpaper.getMinWidthSync();
+```
+
+```js
+ wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
+ if (error) {
+ console.error(`failed to restore because: ${JSON.stringify(error)}`);
+ return;
+ }
+ console.log(`success to restore.`);
+ });
+```
+
+```js
+ wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
+ console.log(`success to restore.`);
+ }).catch((error) => {
+ console.error(`failed to restore because: ${JSON.stringify(error)}`);
+ });
+```
+
+```js
+ // The source type is string.
+ let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
+ wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
+ if (error) {
+ console.error(`failed to setImage because: ${JSON.stringify(error)}`);
+ return;
+ }
+ console.log(`success to setImage.`);
+ });
+```
+
+```js
+ // The source type is string.
+ let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
+ wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
+ console.log(`success to setImage.`);
+ }).catch((error) => {
+ console.error(`failed to setImage because: ${JSON.stringify(error)}`);
+ });
+```
+
+
+## cl.wallpaper.2 Deprecation of getIdSync, getFileSync, isChangeAllowed, isUserChangeAllowed, on, off, and RgbaColor
+Deprecated the **getIdSync**, **getFileSync**, **isChangeAllowed**, **isUserChangeAllowed**, **on**, **off**, and **RgbaColor** APIs since API version 9.
+
+You need to adapt your application based on the following information.
+
+**Change Impact**
+
+The APIs can no longer be used after being deleted.
+
+- Involved APIs:
+
+```js
+ function getIdSync(wallpaperType: WallpaperType): number;
+ function getFileSync(wallpaperType: WallpaperType): number;
+ function isChangeAllowed(): boolean;
+ function isUserChangeAllowed(): boolean;
+ function on(type: 'colorChange', callback: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ function off(type: 'colorChange', callback?: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ interface RgbaColor {
+ red: number;
+ green: number;
+ blue: number;
+ alpha: number;
+ }
+```
+
+- Before change:
+
+```js
+ function getIdSync(wallpaperType: WallpaperType): number;
+ function getFileSync(wallpaperType: WallpaperType): number;
+ function isChangeAllowed(): boolean;
+ function isUserChangeAllowed(): boolean;
+ function on(type: 'colorChange', callback: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ function off(type: 'colorChange', callback?: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ interface RgbaColor {
+ red: number;
+ green: number;
+ blue: number;
+ alpha: number;
+ }
+```
+
+- After change:
+
+ The APIs are deleted.
+
+
+**Adaptation Guide**
+
+Update the code so that the deprecated APIs are not used.
diff --git a/en/release-notes/changelogs/v3.2-Release/changelogs-web.md b/en/release-notes/changelogs/v3.2-Release/changelogs-web.md
new file mode 100644
index 0000000000000000000000000000000000000000..806f1270619d8aec7e7efcf95f41b7a45cc602e8
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-Release/changelogs-web.md
@@ -0,0 +1,467 @@
+# Web Subsystem Changelog
+
+Compared with earlier versions, OpenHarmony 3.2.10.7 has the following API changes in its web subsystem:
+
+## cl.web.1 HitTestTypeV9 Name Change
+
+Renamed the enum class **HitTestTypeV9** **WebHitTestType** to meet the naming conventions.
+
+**Change Impact**
+
+The enum class **HitTestTypeV9** and APIs that use **HitTestTypeV9** as a parameter or return value cannot be used in OpenHarmony 3.2.10.7 and later versions.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ enum HitTestTypeV9
+
+- Before change:
+
+ ```ts
+ enum HitTestTypeV9
+ ```
+
+- After change:
+
+ ```ts
+ enum WebHitTestType
+ ```
+
+**Adaptation Guide**
+
+Replace **HitTestTypeV9** with **WebHitTestType**.
+
+## cl.web.2 HeaderV9 Name Change
+
+Renamed the struct **HeaderV9** **WebHeader** to meet the naming conventions.
+
+**Change Impact**
+
+The struct **HeaderV9** and APIs that use **HeaderV9** as a parameter or return value cannot be used in OpenHarmony 3.2.10.7 and later versions.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ interface HeaderV9
+
+- Before change:
+
+ ```ts
+ interface HeaderV9
+ ```
+
+- After change:
+
+ ```ts
+ interface WebHeader
+ ```
+
+**Adaptation Guide**
+
+Replace **HeaderV9** with **WebHeader**.
+
+## cl.web.3 Member Change of HitTestValue
+
+Rename the member variable **HitTestTypeV9** in the **HitTestValue** struct **WebHitTestType** to meet the naming conventions.
+
+**Change Impact**
+
+The struct **HitTestValue** and APIs that use **HitTestValue** as a parameter or return value cannot be used in OpenHarmony 3.2.10.7 and later versions.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ interface HitTestValue
+
+- Before change:
+
+ ```ts
+ interface HitTestValue {
+
+ /**
+ * Get the hit test type.
+ *
+ * @since 9
+ */
+ type: HitTestTypeV9;
+
+ /**
+ * Get the hit test extra data.
+ *
+ * @since 9
+ */
+ extra: string;
+ }
+ ```
+
+- After change:
+
+ ```ts
+ interface HitTestValue {
+
+ /**
+ * Get the hit test type.
+ *
+ * @since 9
+ */
+ type: WebHitTestType;
+
+ /**
+ * Get the hit test extra data.
+ *
+ * @since 9
+ */
+ extra: string;
+ }
+ ```
+
+**Adaptation Guide**
+
+Replace **HitTestTypeV9** with **WebHitTestType**.
+
+## cl.web.4 Parameter Type Change of loadUrl
+
+Changed the type of the **headers** parameter in **loadUrl** to **WebHeader** to meet the naming conventions.
+
+**Change Impact**
+
+The **loadUrl** API that uses the **headers** parameter cannot be used in OpenHarmony 3.2.10.7 and later versions.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ loadUrl(url: string | Resource, headers?: Array\): void
+
+- Before change:
+
+ ```ts
+ loadUrl(url: string | Resource, headers?: Array): void
+ ```
+
+- After change:
+
+ ```ts
+ loadUrl(url: string | Resource, headers?: Array): void
+ ```
+
+**Adaptation Guide**
+
+Change the type of the **headers** parameter in **loadUrl** from **HeaderV9** to **WebHeader**.
+
+## cl.web.5 Return Value Type Change of getHitTest
+
+Changed the return value type of the **getHitTest** API to **WebHitTest** to meet the naming conventions.
+
+**Change Impact**
+
+The **getHitTest** API cannot be used in OpenHarmony 3.2.10.7 and later versions.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ getHitTest(): HitTestTypeV9
+
+- Before change:
+
+ ```ts
+ getHitTest(): HitTestTypeV9
+ ```
+
+- After change:
+
+ ```ts
+ getHitTest(): WebHitTestType
+ ```
+
+**Adaptation Guide**
+
+Change the return value type of the **getHitTest** API from **HitTestTypeV9** to **WebHitTestType**.
+
+## cl.web.6 Moving of the WebMessagePort Class
+
+Moved the **WebMessagePort** class to **@ohos.web.webview.d.ts** and added error throwing.
+
+**Change Impact**
+
+If your application is developed based on earlier versions, note that the **d.ts** file storage location and the name of the module to be imported are changed. In addition, be mindful of the error codes now that the APIs in the class support error code processing.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ postMessageEvent(message: WebMessageEvent): void;
+ onMessageEvent(callback: (result: string) => void): void;
+
+- Before change:
+
+ ```ts
+ postMessageEvent(message: WebMessageEvent): void;
+ onMessageEvent(callback: (result: string) => void): void;
+ ```
+
+- After change:
+
+ ```ts
+ postMessageEvent(message: WebMessage): void;
+ onMessageEvent(callback: (result: WebMessage) => void): void;
+ ```
+
+**Adaptation Guide**
+
+Instead of importing APIs from the original **WebMessagePort** class, import APIs from **@ohos.web.webview** as follows:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.7 Moving of the HitTestValue Class
+
+Moved the **HitTestValue** class to **@ohos.web.webview.d.ts**; changed **HitTestValue** from a class to an API; changed the **getType** and **getExtra** from APIs to attributes.
+
+**Change Impact**
+
+If your application is developed based on earlier versions, note that the **d.ts** file storage location and the name of the module to be imported are changed.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ getType(): HitTestType;
+ getExtra(): string;
+
+- Before change:
+
+ ```ts
+ getType(): HitTestType;
+ getExtra(): string;
+ ```
+
+- After change:
+
+ ```ts
+ type: WebHitTestType;
+ extra: string;
+ ```
+
+**Adaptation Guide**
+
+Instead of importing APIs from the original **HitTestValue** class, import APIs from **@ohos.web.webview** as follows:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.8 Moving of API Version 9 APIs Under WebCookie
+
+Moved APIs of API version 9 in the **WebCookie** class to **web.webview.webview.WebCookieManager**
+and added error throwing.
+
+**Change Impact**
+
+If your application is developed based on earlier versions, note that the **d.ts** file storage location and the name of the module to be imported are changed. In addition, be mindful of the error codes now that the APIs in the class support error code processing.
+The APIs in the class are static.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ isCookieAllowed(): boolean;
+ isThirdPartyCookieAllowed(): boolean;
+ putAcceptCookieEnabled(accept: boolean): void;
+ putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ setCookie(url: string, value: string): boolean;
+ saveCookieSync(): boolean;
+ getCookie(url: string): string;
+ existCookie(): boolean;
+ deleteEntireCookie(): void;
+ deleteSessionCookie(): void;
+
+- Before change:
+
+ ```ts
+ isCookieAllowed(): boolean;
+ isThirdPartyCookieAllowed(): boolean;
+ putAcceptCookieEnabled(accept: boolean): void;
+ putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ setCookie(url: string, value: string): boolean;
+ saveCookieSync(): boolean;
+ getCookie(url: string): string;
+ existCookie(): boolean;
+ deleteEntireCookie(): void;
+ deleteSessionCookie(): void;
+ ```
+
+- After change:
+
+ ```ts
+ static isCookieAllowed(): boolean;
+ static isThirdPartyCookieAllowed(): boolean;
+ static putAcceptCookieEnabled(accept: boolean): void;
+ static putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ static setCookie(url: string, value: string): void;
+ static saveCookieAsync(): Promise;
+ static saveCookieAsync(callback: AsyncCallback): void;
+ static getCookie(url: string): string;
+ static existCookie(): boolean;
+ static deleteEntireCookie(): void;
+ static deleteSessionCookie(): void;
+ ```
+
+**Adaptation Guide**
+
+Instead of importing APIs from the original **WebCookie** class, import APIs from **@ohos.web.webview** as follows:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.9 Moving of API Version 9 APIs Under WebController
+
+Moved APIs of API version 9 in the **WebController** class to **web.webview.webview.WebviewController** and added error throwing.
+
+**Change Impact**
+
+If your application is developed based on earlier versions, note that the **d.ts** file storage location and the name of the module to be imported are changed. In addition, be mindful of the error codes now that the APIs in the class support error code processing.
+The **getDefaultUserAgent** API is renamed **getUserAgent**.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ zoomIn(): boolean;
+ zoomOut(): boolean;
+ createWebMessagePorts(): Array\;
+ postMessage(options: { message: WebMessageEvent, uri: string}): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getDefaultUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+
+- Before change:
+
+ ```ts
+ zoomIn(): boolean;
+ zoomOut(): boolean;
+ createWebMessagePorts(): Array;
+ postMessage(options: { message: WebMessageEvent, uri: string}): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getDefaultUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+ ```
+
+- After change:
+
+ ```ts
+ zoomIn(): void;
+ zoomOut(): void;
+ createWebMessagePorts(): Array;
+ postMessage(name: string, ports: Array, uri: string): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+ ```
+
+**Adaptation Guide**
+
+Instead of importing APIs from the original **WebController** class, import APIs from **@ohos.web.webview** as follows:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.10 Moving of the WebAsyncController Class
+
+Moved the APIs in the **WebAsyncController** class to the **web.webview.webview.WebviewController** class and added error throwing.
+
+**Change Impact**
+
+If your application is developed based on earlier versions, pay attention to error code processing.
+
+**Key API/Component Changes**
+
+- Involved APIs:
+
+ storeWebArchive(baseName: string, autoName: boolean): Promise\;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback\): void;
+
+- Before change:
+
+ ```ts
+ storeWebArchive(baseName: string, autoName: boolean): Promise;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback): void;
+ ```
+
+- After change:
+
+ ```ts
+ storeWebArchive(baseName: string, autoName: boolean): Promise;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback): void;
+ ```
+
+**Adaptation Guide**
+
+Example:
+
+ ```ts
+ // xxx.ets
+ import web_webview from '@ohos.web.webview'
+
+ @Entry
+ @Component
+ struct WebComponent {
+ controller: web_webview.WebviewController = new web_webview.WebviewController();
+
+ build() {
+ Column() {
+ Button('saveWebArchive')
+ .onClick(() => {
+ try {
+ this.controller.storeWebArchive("/data/storage/el2/base/", true, (error, filename) => {
+ if (error) {
+ console.info(`save web archive error: ` + JSON.stringify(error))
+ return;
+ }
+ if (filename != null) {
+ console.info(`save web archive success: ${filename}`)
+ }
+ });
+ } catch (error) {
+ console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
+ }
+ })
+ Web({ src: 'www.example.com', controller: this.controller })
+ }
+ }
+ }
+ ```
diff --git a/en/release-notes/changelogs/v3.2-beta5/Readme-EN.md b/en/release-notes/changelogs/v3.2-beta5/Readme-EN.md
new file mode 100644
index 0000000000000000000000000000000000000000..2fdd6c9746c9137e136e52db2beef59377494c6b
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/Readme-EN.md
@@ -0,0 +1,26 @@
+# Readme
+
+- [Ability framework](changelogs-ability.md)
+- [Account subsystem](changelogs-account_os_account.md)
+- [ArkUI development framework](changelogs-arkui.md)
+- [Multimedia subsystem - camera](changelogs-camera-sync.md)
+- [Common library subsystem - container](changelogs-container.md)
+- [Distributed data management](changelogs-distributeddatamgr.md)
+- [File management subsystem](changelogs-filemanagement.md)
+- [Input method framework](changelogs-inputmethod-framworks.md)
+- [File management subsystem - MediaLibrary](changelogs-mediaLibrary.md)
+- [Multimedia subsystem](changelogs-multimedia.md)
+- [Communication subsystem - NFC](changelogs-nfc.md)
+- [Common event and notification subsystem](changelogs-notification.md)
+- Location subsystem
+ - [ohos.geoLocationManager](changelogs-ohos-geoLocationManager.md)
+ - [ohos.geoLocation](changelogs-ohos-geolocation.md)
+ - [system.geolocation](changelogs-system-geolocation.md)
+- [Upload and download](changelogs-request.md)
+- [Resource scheduler subsystem](changelogs-resourceschedule.md)
+- [Security subsystem](changelogs-security.md)
+- [Telephony subsystem](changelogs-telephony.md)
+- [Time service](changelogs-time.md)
+- [Common library subsystem - URL](changelogs-url.md)
+- [User IAM subsystem](changelogs-useriam.md)
+- [Window manager subsystem](changelogs-window.md)
diff --git a/en/release-notes/changelogs/v3.2-beta5/changelog-x-x.md b/en/release-notes/changelogs/v3.2-beta5/changelog-x-x.md
new file mode 100644
index 0000000000000000000000000000000000000000..dcc7cd9aabb636ed248b5a37383410d4218b346f
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/changelog-x-x.md
@@ -0,0 +1,28 @@
+# *Example* Subsystem Changelog
+
+Changes that affect contract compatibility of the last version should be described in the changelog. The changes include but are not limited to those related to API names, parameters, return values, required permissions, call sequence, enumerated values, configuration parameters, and paths. The last version can be an LTS, release, beta, or monthly version, or the like. Contract compatibility, also called semantic compatibility, means that the original program behavior should remain consistent over versions.
+
+## cl.subsystemname.x xxx Function Change (Example: DeviceType Attribute Change or Camera Permission Change. Use a short description.)
+
+Add the number **cl.*subsystemname*.*x*** before each change title, where **cl** is the abbreviation of changelog, *subsystemname* is the standard English name of the subsystem, and *x* indicates the change sequence number (starting from 1 in ascending order).
+Describe the changes in terms of functions. Example: *n* and *m* of the *a* function are changed. Developers need to adapt their applications based on the change description.
+If there is a requirement or design document corresponding to the change, attach the requirement number or design document number in the description.
+
+**Change Impact**
+
+Describe whether released APIs (JS or native APIs) are affected or API behavior is changed.
+Describe whether available applications are affected, that is, whether an adaptation is required for building the application code in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+List the API/component changes involved in the function change.
+
+**Adaptation Guide**
+
+Provide guidance for developers on how to adapt their application to the changes to be compatible with the new version.
+Example:
+Change parameter *n* to *m* in the *a* file.
+
+```
+sample code
+```
diff --git a/en/release-notes/changelogs/v3.2-beta5/changelogs-ability.md b/en/release-notes/changelogs/v3.2-beta5/changelogs-ability.md
new file mode 100644
index 0000000000000000000000000000000000000000..6117462498c03b872b83d1cde479be6b2f094a01
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/changelogs-ability.md
@@ -0,0 +1,168 @@
+# Ability Framework Changelog
+
+## cl.ability.1 API Migration
+The **requestPermissionsFromUser** API of **UIAbilityContext** is migrated from the ability subsystem to the security subsystem.
+
+Previously, the permission popup was implemented based on **UIAbility**, which used the **startAbilityForResult** API of **UIAbilityContext** to return the permission authorization result to the caller. Therefore, **requestPermissionsFromUser** was temporarily placed in **UIAbilityContext**. The permission popup is now implemented based on **ServiceExtensionAbility**, which no longer requires **startAbilityForResult** of **UIAbilityContext**. Therefore, **requestPermissionsFromUser** is migrated to the security subsystem.
+
+You need to adapt your application based on the following information.
+
+ **Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Change Type|
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| application/UIAbilityContext | UIAbilityContext | requestPermissionsFromUser(permissions: Array, requestCallback: AsyncCallback): void; | Deleted |
+| application/UIAbilityContext | UIAbilityContext | requestPermissionsFromUser(permissions: Array): Promise; | Deleted |
+| @ohos.abilityAccessCtrl | AtManager | requestPermissionsFromUser(context: Context, permissions: Array, requestCallback: AsyncCallback) : void; | Added |
+| @ohos.abilityAccessCtrl | AtManager | requestPermissionsFromUser(context: Context, permissions: Array) : Promise; | Added |
+
+
+**Adaptation Guide**
+
+The following illustrates how **requestPermissionsFromUser** is called to show a permission popup.
+
+Stage model:
+
+```ts
+import abilityAccessCtrl from '@ohos.abilityAccessCtrl.d.ts';
+// onWindowStageCreate lifecycle of UIAbility.
+onWindowStageCreate() {
+ let AtManager = abilityAccessCtrl.createAtManager();
+ // requestPermissionsFromUser determines whether to display a popup based on the permission authorization status.
+ AtManager.requestPermissionsFromUser(this.context, ["ohos.permission.MANAGE_DISPOSED_APP_STATUS"]).then((data) => {
+ console.log("data type:" + typeof(data));
+ console.log("data:" + data);
+ console.log("data permissions:" + data.permissions);
+ console.log("data result:" + data.authResults);
+ }).catch((err) => {
+ console.error('Failed to start ability', err.code);
+ })
+}
+```
+
+
+
+## cl.ability.2 Deletion of Deprecated APIs in API Version 9
+
+In the **Ability Exception Rectification** document, some APIs in API version 9 have been marked as deprecated. According to API specifications of OpenHarmony, these APIs should be deleted.
+
+**Change Impact**
+
+The application developed based on earlier versions needs to use new APIs to replace the deleted ones. Otherwise, the application compilation will be affected.
+
+**Key API/Component Changes**
+
+API files are deleted.
+
+| Deleted API | New API |
+| ----------------------------------------------- | ----------------------------------------------- |
+| @ohos.application.Ability.d.ts | @ohos.app.ability.UIAbility.d.ts |
+| @ohos.application.AbilityConstant.d.ts | @ohos.app.ability.AbilityConstant.d.ts |
+| @ohos.application.AbilityLifecycleCallback.d.ts | @ohos.app.ability.AbilityLifecycleCallback.d.ts |
+| @ohos.application.AbilityStage.d.ts | @ohos.app.ability.AbilityStage.d.ts |
+| @ohos.application.EnvironmentCallback.d.ts | @ohos.app.ability.EnvironmentCallback.d.ts |
+| @ohos.application.ExtensionAbility.d.ts | @ohos.app.ability.ExtensionAbility.d.ts |
+| @ohos.application.FormExtension.d.ts | @ohos.app.form.FormExtensionAbility.d.ts |
+| @ohos.application.ServiceExtensionAbility.d.ts | @ohos.app.ability.ServiceExtensionAbility.d.ts |
+| @ohos.application.StartOptions.d.ts | @ohos.app.ability.StartOptions.d.ts |
+| @ohos.application.context.d.ts | @ohos.app.ability.common.d.ts |
+| @ohos.application.errorManager.d.ts | @ohos.app.ability.errorManager.d.ts |
+
+APIs or attributes are deleted:
+
+- @ohos.application.Configuration.d.ts
+ - **direction**, **screenDensity**, **displayId**, and **hasPointerDevice** of **Configuration** are deleted. Use **Configuration** of **@ohos.app.ability.Configuration.d.ts**.
+- @ohos.application.ConfigurationConstant.d.ts
+ - **Direction** and **ScreenDensity** are deleted. Use **Direction** and **ScreenDensity** of **@ohos.app.ability.ConfigurationConstant.d.ts**.
+- @ohos.application.abilityManager.d.ts
+ - **getExtensionRunningInfos** and **getTopAbility** are deleted. Use the APIs with the same name in **@ohos.app.ability.abilityManager.d.ts**.
+- @ohos.application.appManager.d.ts
+ - **ApplicationState** and **ProcessState** are deleted. Use **ApplicationState** and **ProcessState** of **@ohos.app.ability.appManager.d.ts**.
+ - **registerApplicationStateObserver** and **getProcessRunningInformation** are deleted. Use the APIs with the same name in **@ohos.app.ability.appManager.d.ts**.
+- @ohos.application.formHost.d.ts
+ - **shareForm** and **notifyFormsPrivacyProtected** are deleted. Use the APIs with the same name in **@ohos.app.form.formHost.d.ts**.
+- @ohos.application.formInfo.d.ts
+ - **eTS** of **FormType** is deleted. Use **eTS** of **FormType** in **@ohos.app.form.formInfo.d.ts**.
+ - **IDENTITY_KEY**, **BUNDLE_NAME_KEY**, **ABILITY_NAME_KEY**, and **DEVICE_ID_KEY** of **FormParam** are deleted. Use the enums with the same name in **@ohos.app.form.formInfo.d.ts**.
+ - **FormInfoFilter** is deleted. Use **FormInfoFilter** of **@ohos.app.form.formInfo.d.ts**.
+ - **FormDimension** is deleted. Use **FormDimension** of **@ohos.app.form.formInfo.d.ts**.
+ - **VisibilityType** is deleted. Use **VisibilityType** of **@ohos.app.form.formInfo.d.ts**.
+- @ohos.wantAgent.d.ts
+ - **trigger** and **getOperationType** are deleted. Use the APIs with the same name in **@ohos.app.ability.wantAgent.d.ts**.
+- application/ApplicationContext.d.ts
+ - **registerAbilityLifecycleCallback**, **unregisterAbilityLifecycleCallback**, **registerEnvironmentCallback**, and **unregisterEnvironmentCallback** are deleted. Use **on** and **off**.
+- application/ServiceExtensionContext.d.ts
+ - **connectAbility**, **connectAbilityWithAccount**, and **disconnectAbility** are deleted. Use **connectServiceExtensionAbility**, **connectServiceExtensionAbilityWithAccount**, and **disconnectServiceExtensionAbility**.
+- @ohos.application.FormExtension.d.ts
+ - **onCreate**, **onCastToNormal**, **onUpdate**, **onVisibilityChange**, **onEvent**, **onDestroy**, **onAcquireFormState**, and **onShare** are deleted. Use the following lifecycle methods of **@ohos.app.form.FormExtensionAbility.d.ts**: **onAddForm**, **onCastToNormalForm**, **onUpdateForm**, **onChangeFormVisibility**, **onFormEvent**, **onRemoveForm**, **onAcquireFormState**, and **onShareForm**.
+- @ohos.application.abilityDelegatorRegistry.d.ts
+ - **AbilityDelegator**, **AbilityDelegatorArgs**, **AbilityMonitor**, and **ShellCmdResult** are deleted. Use the classes with the same name in **@ohos.app.ability.abilityDelegatorRegistry.d.ts**.
+- @ohos.application.abilityManager.d.ts
+ - **AbilityRunningInfo** and **ExtensionRunningInfo** are deleted. Use the classes with the same name in **@ohos.app.ability.abilityManager.d.ts**.
+- @ohos.application.appManager.d.ts
+ - **AbilityStateData**, **AppStateData**, **ApplicationStateObserver**, **ProcessRunningInfo**, and **ProcessRunningInformation** are deleted. Use the classes with the same name in **@ohos.app.ability.appManager.d.ts**.
+- @ohos.application.missionManager.d.ts
+ - **MissionInfo**, **MissionListener**, and **MissionSnapshot** are deleted. Use the classes with the same name in **@ohos.app.ability.missionManager.d.ts**.
+- @ohos.wantAgent.d.ts
+ - **TriggerInfo** and **WantAgentInfo** are deleted. Use the classes with the same name in **@ohos.app.ability.wantAgent.d.ts**.
+
+**Adaptation Guide**
+
+As mentioned above, only several APIs have their names changed in terms of, for example, the registration callbacks (**registerAbilityLifecycleCallback**, **unregisterAbilityLifecycleCallback**, **registerEnvironmentCallback**, and **unregisterEnvironmentCallback**) and connection and disconnection **ServiceExtensionAbility** (**connectAbility**, **connectAbilityWithAccount**, and **disconnectAbility**). For such APIs, replace their names with those of their corresponding new APIs in the lifecycle callbacks.
+
+Most APIs are moved to the new namespace. Therefore, you can modify **import** for adaptation.
+
+For example, the original API uses **@ohos.application.Ability**:
+
+```js
+import Ability from '@ohos.application.Ability';
+```
+
+You can directly modify **import** to switch to the new namespace:
+
+```js
+import Ability from '@ohos.app.ability.UIAbility';
+```
+
+In addition, exception handling is needed. For details, see the API reference for the new APIs.
+
+## cl.ability.3 RestartFlag Attribute Names Changed and Unsupported Attribute Deleted in appRecovery
+
+In the **appRecovery** API, the enum names of **RestartFlag** are changed from **NO_RESTART** upon a specific fault to **RESTART** upon a specific fault.
+The **CPP_CRASH_NO_RESTART** enum is deleted.
+
+**Change Impact**
+
+If your application uses the **CPP_CRASH_NO_RESTART**, **JS_CRASH_NO_RESTART**, or **APP_FREEZE_NO_RESTART** attribute in versions earlier than 3.2.10.6, its behavior will change after an upgrade to 3.2.10.6.
+
+**Key API/Component Changes**
+
+**RestartFlag** 9+
+
+Before change
+
+| Name | Value | Description |
+| --------------------- | ------ | -------------------------------- |
+| ALWAYS_RESTART | 0 | The application is restarted in all cases. |
+| CPP_CRASH_NO_RESTART | 0x0001 | The application is **not restarted** in the case of CPP_CRASH. |
+| JS_CRASH_NO_RESTART | 0x0002 | The application is **not restarted** in the case of JS_CRASH. |
+| APP_FREEZE_NO_RESTART | 0x0004 | The application is **not restarted** in the case of APP_FREEZE.|
+| NO_RESTART | 0xFFFF | The application is not restarted in any case. |
+
+After change
+
+| Name | Value | Description |
+| ----------------------- | ------ | ------------------------------ |
+| ALWAYS_RESTART | 0 | The application is restarted in all cases. |
+| CPP_CRASH_NO_RESTART | NA | **Deleted.** The restart in this scenario is not supported.|
+| RESTART_WHEN_JS_CRASH | 0x0001 | The application is **restarted** in the case of JS_CRASH. |
+| RESTART_WHEN_APP_FREEZE | 0x0002 | The application is **restarted** in the case of APP_FREEZE.|
+| NO_RESTART | 0xFFFF | The application is not restarted in any case. |
+
+**Adaptation Guide**
+
+Perform adaptation based on the new semantics.
diff --git a/en/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md b/en/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md
new file mode 100644
index 0000000000000000000000000000000000000000..e4b1955ff7fdcd16e8fe9946dc899c16657ffdc8
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md
@@ -0,0 +1,96 @@
+# Account Subsystem Changelog
+
+## cl.account_os_account.1 createOsAccountForDomain Error Code Change
+
+Changed the error code returned when the domain account created by **createOsAccountForDomain()** already exists from **12300001** to **12300004**.
+Changed the error information from "common system error" to "The account already exists".
+
+**Change Impact**
+
+The application developed based on earlier versions needs to adapt the new error code. Otherwise, the original service logic will be affected.
+
+**Key API/Component Changes**
+- AccountManager
+ - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>);
+ - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>;
+
+**Adaptation Guide**
+
+The sample code is as follows:
+
+```ts
+import account_osAccount from "@ohos.account.osAccount"
+
+let accountMgr = account_osAccount.getAccountManager();
+let domainInfo = {
+ accountName: "zhangsan",
+ domain: "china.example.com"
+};
+try {
+ await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo);
+ await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo);
+} catch (err) {
+ console.log("activateOsAccount err: " + JSON.stringify(err)); // error.code = 12300004;
+}
+```
+
+## cl.account_os_account.2 Application Account getAllAccounts() Permission Change
+
+Removed the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission that is originally required for an application to call **getAllAccounts()** to obtain accessible accounts.
+
+**Change Impact**
+
+From this version, applications do not need the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission when calling **getAllAccounts()**.
+
+**Key API/Component Changes**
+- AccountManager
+ - getAllAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void;
+ - getAllAccounts(): Promise<Array<AppAccountInfo>>;
+
+**Adaptation Guide**
+
+The following is the sample code for an application to obtain the accessible accounts without the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission:
+
+```ts
+import account_appAccount from "@ohos.account.appAccount"
+
+let accountMgr = account_appAccount.createAppAccountManager();
+try {
+ await accountMgr.addAccount("accessibleAccount_promise_nopermission");
+ var data = await accountMgr.getAllAccounts();
+ if (data[0].name == "accessibleAccount_promise_nopermission") {
+ console.log("getAllAccounts successfully");
+ }
+} catch (err) {
+ console.log("getAllAccounts err: " + JSON.stringify(err));
+}
+```
+
+## cl.account_os_account.3 Application Account getAccountsByOwner() Permission Change
+
+Removed the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission that is originally required for an application to call **getAccountsByOwner()** to obtain the accessible accounts based on the account owner .
+
+**Change Impact**
+
+From this version, applications do not need the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission when calling **getAccountsByOwner()**.
+
+**Key API/Component Changes**
+- AccountManager
+ - getAccountsByOwner(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void;
+ - getAccountsByOwner(owner: string): Promise<Array<AppAccountInfo>>;
+
+**Adaptation Guide**
+
+The following is the sample code for an application to obtain the accessible accounts based on the account owner without the **ohos.permission.GET_ALL_APP_ACCOUNTS** permission:
+
+```ts
+import account_appAccount from "@ohos.account.appAccount"
+
+let accountMgr = account_appAccount.createAppAccountManager();
+try {
+ var ownerName = "com.example.owner";
+ var data = await accountMgr.getAllAccounts(ownerName);
+} catch (err) {
+ console.log("getAllAccounts err: " + JSON.stringify(err));
+}
+```
diff --git a/en/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md b/en/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md
new file mode 100644
index 0000000000000000000000000000000000000000..f4262ae286c279a79b30a657e24faea35b3c7fac
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md
@@ -0,0 +1,334 @@
+# ArkUI Subsystem ChangeLog
+
+## cl.arkui.1 Restrictions on Data Type Declarations of State Variables
+
+1. The data types of state variables decorated by state decorators must be explicitly declared. They cannot be declared as **any** or **Date**.
+
+ Example:
+
+ ```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct DatePickerExample {
+ // Incorrect: @State isLunar: any = false
+ @State isLunar: boolean = false
+ // Incorrect: @State selectedDate: Date = new Date('2021-08-08')
+ private selectedDate: Date = new Date('2021-08-08')
+
+ build() {
+ Column() {
+ Button('Switch Calendar')
+ .margin({ top: 30 })
+ .onClick(() => {
+ this.isLunar = !this.isLunar
+ })
+ DatePicker({
+ start: new Date('1970-1-1'),
+ end: new Date('2100-1-1'),
+ selected: this.selectedDate
+ })
+ .lunar(this.isLunar)
+ .onChange((value: DatePickerResult) => {
+ this.selectedDate.setFullYear(value.year, value.month, value.day)
+ console.info('select current date is: ' + JSON.stringify(value))
+ })
+
+ }.width('100%')
+ }
+ }
+ ```
+
+ 
+
+2. The data type declaration of the **@State**, **@Provide**, **@Link**, or **@Consume** decorated state variables can consist of only one of the primitive data types or reference data types.
+
+ The **Length**, **ResourceStr**, and **ResourceColor** types are combinations of primitive data types or reference data types. Therefore, they cannot be used by the aforementioned types of state variables.
+ For details about the definitions of **Length**, **ResourceStr**, and **ResourceColor**, see [Types](../../../application-dev/reference/arkui-ts/ts-types.md).
+
+ Example:
+
+ ```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct IndexPage {
+ // Incorrect: @State message: string | Resource = 'Hello World'
+ @State message: string = 'Hello World'
+ // Incorrect: @State message: ResourceStr = $r('app.string.hello')
+ @State resourceStr: Resource = $r('app.string.hello')
+
+ build() {
+ Row() {
+ Column() {
+ Text(`${this.message}`)
+ .fontSize(50)
+ .fontWeight(FontWeight.Bold)
+ }
+ .width('100%')
+ }
+ .height('100%')
+ }
+ }
+ ```
+
+ 
+
+**Change Impacts**
+
+1. If the data type of a state variable decorated by a state decorator is declared as **any**, a build error will occur.
+ ```ts
+ // ArkTS:ERROR Please define an explicit type, not any.
+ @State isLunar: any = false
+ ```
+2. If the data type of a state variable decorated by a state decorator is declared as **Date**, a build error will occur.
+ ```ts
+ // ArkTS:ERROR The @State property 'selectedDate' cannot be a 'Date' object.
+ @State selectedDate: Date = new Date('2021-08-08')
+ ```
+3. If the data type of a **@State**, **@Provide**, **@Link**, and or **@Consume** decorated state variable is Length, **ResourceStr**, or **ResourceColor**, a build error will occur.
+ ```ts
+ /* ArkTS:ERROR The state variable type here is 'ResourceStr', it contains both a simple type and an object type,
+ which are not allowed to be defined for state variable of a struct.*/
+ @State message: ResourceStr = $r('app.string.hello')
+ ```
+
+**Key API/Component Changes**
+
+N/A
+
+**Adaptation Guide**
+
+1. Explicitly declare the data type for state variables decorated by state decorators.
+2. If a state variable decorated by a state decorator uses the **Date** object, change it to a regular variable – a variable not decorated by any decorator.
+3. Adapt the **@State**, **@Provide**, **@Link**, and **@Consume** decorated variables based on the following code snippet so that they do not use the **Length(string|number|Resource)**, **ResourceStr(string|Resource)**, and **ResourceColor(string|number|Color|Resource)** types:
+
+ ```ts
+ // Incorrect:
+ @State message: ResourceStr = $r('app.string.hello')
+ // Corrected:
+ @State resourceStr: Resource = $r('app.string.hello')
+ ```
+
+## cl.arkui.2 Initialization Rules and Restrictions of Custom Components' Member Variables
+
+Comply with the following rules when using constructors to initialize member variables:
+
+| **From the Variable in the Parent Component (Right) to the Variable in the Child Component (Below)**| **regular** | **@State** | **@Link** | **@Prop** | **@Provide** | **@Consume** | **@ObjectLink** |
+|---------------------------------|----------------------------|------------|-----------|-----------|--------------|--------------|------------------|
+| **regular** | Supported | Supported | Supported | Supported | Not supported | Not supported | Supported |
+| **@State** | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
+| **@Link** | Not supported | Supported (1) | Supported (1) | Supported (1) | Supported (1) | Supported (1) | Supported (1) |
+| **@Prop** | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
+| **@Provide** | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
+| **@Consume** | Not supported | Not supported | Not supported | Not supported | Not supported | Not supported | Not supported |
+| **@ObjectLink** | Not supported | Not supported | Not supported | Not supported | Not supported | Not supported | Not supported |
+
+| **From the Variable in the Parent Component (Right) to the Variable in the Child Component (Below)**| **@StorageLink** | **@StorageProp** | **@LocalStorageLink** | **@LocalStorageProp** |
+|------------------|------------------|------------------|-----------------------|------------------------|
+| **regular** | Supported | Not supported | Not supported | Not supported |
+| **@State** | Supported | Supported | Supported | Supported |
+| **@Link** | Supported (1) | Supported (1) | Supported (1) | Supported (1) |
+| **@Prop** | Supported | Supported | Supported | Supported |
+| **@Provide** | Supported | Supported | Supported | Supported |
+| **@Consume** | Not supported | Not supported | Not supported | Not supported |
+| **@ObjectLink** | Not supported | Not supported | Not supported | Not supported |
+
+> **NOTE**
+>
+> **Supported (1)**: The dollar sign ($) must be used, for example, **this.$varA**.
+>
+> **regular**: refers to a regular variable that is not decorated by any decorator.
+
+**@StorageLink**, **@StorageProp**, **@LocalStorageLink**, and **@LocalStorageProp** variables cannot be initialized from the parent component.
+
+**Change Impacts**
+
+1. Variables decorated by **@LocalStorageLink** and **@LocalStorageProp** cannot be initialized from the parent component.
+ ```ts
+ @Entry
+ @Component
+ struct LocalStorageComponent {
+ build() {
+ Column() {
+ Child({
+ /* ArkTS:ERROR Property 'simpleVarName' in the custom component 'Child' cannot
+ initialize here (forbidden to specify). */
+ simpleVarName: 1,
+ /* ArkTS:ERROR Property 'objectName' in the custom component 'Child' cannot
+ initialize here (forbidden to specify). */
+ objectName: new ClassA("x")
+ })
+ }
+ }
+ }
+ @Component
+ struct Child {
+ @LocalStorageLink("storageSimpleProp") simpleVarName: number = 0;
+ @LocalStorageProp("storageObjectProp") objectName: ClassA = new ClassA("x");
+ build() {}
+ }
+ ```
+2. The **@ObjectLink** decorated variable cannot be directly initialized from a decorated variable in the parent component. The source of the parent component must be an array item or object attribute decorated by **@State**, **@Link**, **@Provide**, **@Consume**, or **@ObjectLink**.
+ ```ts
+ let NextID : number = 0;
+
+ @Observed class ClassA {
+ public id : number;
+ public c: number;
+ constructor(c: number) {
+ this.id = NextID++;
+ this.c = c;
+ }
+ }
+
+ @Component
+ struct Child {
+ @ObjectLink varA : ClassA;
+ build() {
+ Row() {
+ Text('ViewA-' + this.varA.id)
+ }
+ }
+ }
+
+ @Component
+ struct Parent {
+ @Link linkValue: ClassA
+ build() {
+ Column() {
+ /* ArkTS:ERROR The @Link property 'linkValue' cannot be assigned to
+ the @ObjectLink property 'varA'.*/
+ Child({ varA: this.linkValue })
+ }
+ }
+ }
+ ```
+
+**Key API/Component Changes**
+
+N/A
+
+**Adaptation Guide**
+1. When building a child component, do not perform the build on the variables decorated by **@LocalStorageLink** and **@LocalStorageProp** in the child component.
+
+ To change these variables from the parent component, use the API provided by the **LocalStorage** (such as the **set** API) to assign values to them.
+
+2. For details about how to use **@ObjectLink**, see @ObjectLink.
+
+## cl.LocalStorage.1 Return Type Change of the get API
+
+Changed the return type from **get\(propName: string): T** to **get\(propName: string): T | undefined**.
+
+**Change Impact**
+
+
+None
+
+## cl.arkui.LocalStorage.2 Mandatory/Optional Change of the newValue Parameter in setOrCreate
+**Change Impact**
+
+API declaration before change:
+```js
+setOrCreate(propName: string, newValue?: T): boolean
+```
+API declaration after change:
+```js
+setOrCreate(propName: string, newValue: T): boolean
+```
+The **newValue** parameter becomes mandatory.
+If it is not specified when an application calls the API, the build will fail after the SDK is replaced.
+
+**Adaptation Guide**
+
+```js
+let storage = new LocalStorage();
+storage.setOrCreate('propA', 'hello');
+```
+## cl.arkui.LocalStorage.3 link Parameter and Return Type Changes
+**Change Impact**
+
+API declaration before change:
+```js
+link(propName: string, linkUser?: T, subscribersName?: string): T
+```
+API declaration after change:
+```js
+link(propName: string): SubscribedAbstractProperty
+```
+1. The second and third parameters of the **link** API are reserved for internal use by the framework. Therefore, the API is changed to contain only one parameter.
+2. The return type **T** is changed to **SubscribedAbstractProperty**.
+
+**Adaptation Guide**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let linA = storage.link("PropA");
+linA.set(50);
+```
+
+## cl.arkui.LocalStorage.4 setAndLink Parameter and Return Type Changes
+**Change Impact**
+
+API declaration before change:
+```js
+setAndLink(propName: string, defaultValue: T, linkUser?: T, subscribersName?: string): T
+```
+API declaration after change:
+```js
+setAndLink(propName: string, defaultValue: T): SubscribedAbstractProperty
+```
+1. The third and fourth parameters of the **setAndLink** API are reserved for internal use by the framework. Therefore, the API is changed to contain two parameters.
+2. The return type **T** is changed to **SubscribedAbstractProperty**.
+
+**Adaptation Guide**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let linA = storage.setAndLink("PropA", "48")
+linA.set(50);
+```
+
+## cl.arkui.LocalStorage.5 prop Parameter and Return Type Changes
+**Change Impact**
+
+API declaration before change:
+```js
+prop(propName: string, propUser?: T, subscribersName?: string): T
+```
+API declaration after change:
+```js
+prop(propName: string): SubscribedAbstractProperty
+```
+1. The second and third parameters of the **prop** API are reserved for internal use by the framework. Therefore, the API is changed to contain only one parameter.
+2. The return type **T** is changed to **SubscribedAbstractProperty**.
+
+**Adaptation Guide**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let propA = storage.prop("PropA");
+propA.set(51); // one-way sync
+```
+
+## cl.arkui.LocalStorage.6 setAndProp Parameter and Return Type Changes
+**Change Impact**
+
+API declaration before change:
+```js
+setAndProp(propName: string, defaultValue: T, propUser?: T, subscribersName?: string): T
+```
+API declaration after change:
+```js
+setAndProp(propName: string, defaultValue: S): SubscribedAbstractProperty
+```
+1. The third and fourth parameters of the **setAndProp** API are reserved for internal use by the framework. Therefore, the API is changed to contain two parameters.
+2. The return type **T** is changed to **SubscribedAbstractProperty**.
+
+**Adaptation Guide**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let propA = storage.setAndProp("PropA", "48");
+propA.set(51); // one-way sync
+```
\ No newline at end of file
diff --git a/en/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md b/en/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md
new file mode 100644
index 0000000000000000000000000000000000000000..ef66b7500c4b5fccde024c10c95beeca5b6cbd5d
--- /dev/null
+++ b/en/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md
@@ -0,0 +1,520 @@
+# Multimedia Subsystem Changelog
+
+## cl.subsystemname.1 Camera API Changed
+1. All the APIs of the camera component are changed to system APIs in the API version 9.
+2. Some functional APIs are added and some others are deprecated to:
+
+Improve the usability of camera APIs.
+Help you quickly understand camera APIs and use them for development.
+Facilitate expansion of framework functions in later versions, and reduce coupling between framework modules.
+
+You need to refer to the following change description to adapt your application.
+
+**Change Impact**
+
+JS APIs in API version 9 are affected. Your application needs to adapt these APIs so that it can properly implement features in the SDK environment of the new version.
+
+**Key API/Component Changes**
+
+| Module | Class | Method/Attribute/Enum/Constant | Is System API| Change Type|
+| ---------------------- | ----------------------- | ------------------------------------------------------------ | --------------- | -------- |
+| ohos.multimedia.camera | camera | function getCameraManager(context: Context): CameraManager; | Yes | Added |
+| ohos.multimedia.camera | camera | function getCameraManager(context: Context, callback: AsyncCallback): void;
function getCameraManager(context: Context): Promise; | Yes | Deprecated |
+| ohos.multimedia.camera | CameraErrorCode | INVALID_ARGUMENT = 7400101,
OPERATION_NOT_ALLOWED = 7400102,
SESSION_NOT_CONFIG = 7400103,
SESSION_NOT_RUNNING = 7400104,
SESSION_CONFIG_LOCKED = 7400105,
DEVICE_SETTING_LOCKED = 7400106,
CONFILICT_CAMERA = 7400107,
DEVICE_DISABLED = 7400108,
SERVICE_FATAL_ERROR = 7400201 | Yes | Added |
+| ohos.multimedia.camera | CameraManager | getSupportedCameras(): Array;
getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
createCameraInput(camera: CameraDevice): CameraInput;
createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;
createMetadataOutput(metadataObjectTypes: Array): MetadataOutput;
createCaptureSession(): CaptureSession; | Yes | Added |
+| ohos.multimedia.camera | CameraManager | getSupportedCameras(callback: AsyncCallback>): void;
getSupportedCameras(): Promise>;
getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void;
getSupportedOutputCapability(camera: CameraDevice): Promise;
createCameraInput(camera: CameraDevice, callback: AsyncCallback): void;
createCameraInput(camera: CameraDevice): Promise;
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void;
createCameraInput(position: CameraPosition, type: CameraType): Promise;
createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPreviewOutput(profile: Profile, surfaceId: string): Promise;
createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPhotoOutput(profile: Profile, surfaceId: string): Promise;
createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback): void;
createVideoOutput(profile: VideoProfile, surfaceId: string): Promise;
createMetadataOutput(metadataObjectTypes: Array, callback: AsyncCallback): void;
createMetadataOutput(metadataObjectTypes: Array): Promise;
createCaptureSession(callback: AsyncCallback): void;
createCaptureSession(): Promise; | Yes | Deprecated |
+| ohos.multimedia.camera | CameraType | CAMERA_TYPE_DEFAULT = 0 | Yes | Added |
+| ohos.multimedia.camera | CameraType | CAMERA_TYPE_UNSPECIFIED = 0 | Yes | Deprecated |
+| ohos.multimedia.camera | CameraInput | on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | Yes | Added |
+| ohos.multimedia.camera | CameraInput | release(callback: AsyncCallback): void;
release(): Promise;
on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | Yes | Deprecated |
+| ohos.multimedia.camera | CameraInputErrorCode | ERROR_UNKNOWN = -1
ERROR_NO_PERMISSION = 0
ERROR_DEVICE_PREEMPTED = 1
ERROR_DEVICE_DISCONNECTED = 2
ERROR_DEVICE_IN_USE = 3
ERROR_DRIVER_ERROR = 4 | Yes | Deprecated |
+| ohos.multimedia.camera | CameraInputError | code: CameraInputErrorCode | Yes | Deprecated |
+| ohos.multimedia.camera | CaptureSession | beginConfig(): void;
addInput(cameraInput: CameraInput): void;
removeInput(cameraInput: CameraInput): void;
addOutput(cameraOutput: CameraOutput): void;
removeOutput(cameraOutput: CameraOutput): void;
hasFlash(): boolean;
isFlashModeSupported(flashMode: FlashMode): boolean;
getFlashMode(): FlashMode;
setFlashMode(flashMode: FlashMode): void;
isExposureModeSupported(aeMode: ExposureMode): boolean;
getExposureMode(): ExposureMode;
setExposureMode(aeMode: ExposureMode): void;
getMeteringPoint(): Point;
setMeteringPoint(point: Point): void;
getExposureBiasRange(): Array;
setExposureBias(exposureBias: number): void;
getExposureValue(): number;
isFocusModeSupported(afMode: FocusMode): boolean;
getFocusMode(): FocusMode;
setFocusMode(afMode: FocusMode): void;
setFocusPoint(point: Point): void;
getFocusPoint(): Point;
getFocalLength(): number;
getZoomRatioRange(): Array;
getZoomRatio(): number;
setZoomRatio(zoomRatio: number): void;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
getActiveVideoStabilizationMode(): VideoStabilizationMode;
setVideoStabilizationMode(mode: VideoStabilizationMode): void;
on(type: 'error', callback: ErrorCallback): void; | Yes | Added |
+| ohos.multimedia.camera | CaptureSession | beginConfig(callback: AsyncCallback): void;
beginConfig(): Promise;
addInput(cameraInput: CameraInput, callback: AsyncCallback): void;
addInput(cameraInput: CameraInput): Promise;