未验证 提交 0623f440 编写于 作者: O openharmony_ci 提交者: Gitee

!20857 [翻译完成】#I7DML1

Merge pull request !20857 from Annie_wang/PR17811
......@@ -259,6 +259,7 @@
- File Management
- [@ohos.file.backup (Backup and Restoration)](js-apis-file-backup.md)
- [@ohos.file.cloudSync (Device-Cloud Synchronization)](js-apis-file-cloudsync.md)
- [@ohos.file.cloudSyncManager (Device-Cloud Synchronization Management)](js-apis-file-cloudsyncmanager.md)
- [@ohos.file.environment (Directory Environment Capability)](js-apis-file-environment.md)
- [@ohos.file.fileAccess (User File Access and Management)](js-apis-fileAccess.md)
......
# @ohos.file.cloudSyncManager (Device-Cloud Synchronization Management)
The **cloudSyncManager** module provides APIs for changing the cloud and device service status and notifying the data changes.
The **cloudSyncManager** module provides APIs for managing device-cloud synergy for applications. You can use the APIs to enable or disable device-cloud synergy, change the device-cloud synchronization switch for an application, notify cloud data changes, and clear or retain cloud files when a cloud account exits.
> **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 are system APIs and cannot be called by third-party applications.
## Modules to Import
```js
import cloudSyncManager from '@ohos.file.cloudSyncManager';
import cloudSyncManager from '@ohos.file.cloudSyncManager'
```
## cloudSyncManager.changeAppCloudSwitch
changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean): Promise<void>;
changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean): Promise<void>
Changes the device-cloud file synchronization switch for an application. This API uses a promise to return the result.
......@@ -37,6 +38,7 @@ Changes the device-cloud file synchronization switch for an application. This AP
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
......@@ -57,7 +59,7 @@ For details about the error codes, see [File Management Error Codes](../errorcod
## cloudSyncManager.changeAppCloudSwitch
changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean, callback: AsyncCallback<void>): void;
changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean, callback: AsyncCallback<void>): void
Changes the device-cloud file synchronization switch for an application. This API uses an asynchronous callback to return the result.
......@@ -75,6 +77,7 @@ Changes the device-cloud file synchronization switch for an application. This AP
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
......@@ -97,7 +100,7 @@ For details about the error codes, see [File Management Error Codes](../errorcod
## cloudSyncManager.notifyDataChange
notifyDataChange(accountId: string, bundleName: string): Promise<void>;
notifyDataChange(accountId: string, bundleName: string): Promise<void>
Notifies the cloud and device services of the application data change in the cloud. This API uses a promise to return the result.
......@@ -119,6 +122,7 @@ Notifies the cloud and device services of the application data change in the clo
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
......@@ -139,7 +143,7 @@ For details about the error codes, see [File Management Error Codes](../errorcod
## cloudSyncManager.notifyDataChange
notifyDataChange(accountId: string, bundleName: string, callback: AsyncCallback<void>): void;
notifyDataChange(accountId: string, bundleName: string, callback: AsyncCallback<void>): void
Notifies the cloud and device services of the application data change in the cloud. This API uses a promise to return the result.
......@@ -156,6 +160,7 @@ Notifies the cloud and device services of the application data change in the clo
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
......@@ -175,3 +180,275 @@ For details about the error codes, see [File Management Error Codes](../errorcod
}
});
```
## cloudSyncManager.enableCloud
enableCloud(accountId: string, switches: { [bundleName: string]: boolean }): Promise<void>
Enables device-cloud synergy. This API uses a promise to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
| switches | object | Yes | Whether to enable the device-cloud synergy feature. **bundleName** indicates the application bundle name. The switch status is a Boolean value.|
**Return value**
| Type | Description |
| --------------------- | ---------------- |
| Promise<void> | Promise used to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
let switches = {"com.example.bundleName1": true, "com.example.bundleName2": false};
cloudSyncManager.enableCloud(accountId, switches).then(function() {
console.info("enableCloud successfully");
}).catch(function(err) {
console.info("enableCloud failed with error message: " + err.message + ", error code: " + err.code);
});
```
## cloudSyncManager.enableCloud
enableCloud(accountId: string, switches: { [bundleName: string]: boolean }, callback: AsyncCallback<void>): void
Enables device-cloud synergy. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
| switches | object | Yes | Whether to enable the device-cloud synergy feature. **bundleName** indicates the application bundle name. The switch status is a Boolean value.|
| callback | AsyncCallback<void> | Yes | Callback invoked to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
let switches = {"com.example.bundleName1": true, "com.example.bundleName2": false};
cloudSyncManager.enableCloud(accountId, switches, (err) => {
if (err) {
console.info("enableCloud failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("enableCloud successfully");
}
});
```
## cloudSyncManager.disableCloud
disableCloud(accountId: string): Promise<void>
Disables device-cloud synergy. This API uses a promise to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
**Return value**
| Type | Description |
| --------------------- | ---------------- |
| Promise<void> | Promise used to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
cloudSyncManager.disableCloud(accountId).then(function() {
console.info("disableCloud successfully");
}).catch(function(err) {
console.info("disableCloud failed with error message: " + err.message + ", error code: " + err.code);
});
```
## cloudSyncManager.disableCloud
disableCloud(accountId: string, callback: AsyncCallback<void>): void
Disables device-cloud synergy. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
| callback | AsyncCallback<void> | Yes | Callback invoked to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
cloudSyncManager.disableCloud(accountId, (err) => {
if (err) {
console.info("disableCloud failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("disableCloud successfully");
}
});
```
## Action
Enumerates the actions that can be taken to clear local cloud data.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
| Name| Value| Description|
| ----- | ---- | ---- |
| RETAIN_DATA | 0 | Clear the cloud identifier but retain the files cached locally.|
| CLEAR_DATA | 1 | Clear the cloud identifier and the files cached locally.|
## cloudSyncManager.clean
clean(accountId: string, appActions: { [bundleName: string]: Action }): Promise<void>
Clears the cloud data locally. This API uses a promise to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
| appActions | object | Yes | Action to take. **bundleName** indicates the application bundle to clear, and [Action](#action) indicates the action to take.|
**Return value**
| Type | Description |
| --------------------- | ---------------- |
| Promise<void> | Promise used to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
let appActions = {"com.example.bundleName1": cloudSyncManager.Action.RETAIN_DATA,
"com.example.bundleName2": cloudSyncManager.Action.CLEAR_DATA};
cloudSyncManager.clean(accountId, appActions).then(function() {
console.info("clean successfully");
}).catch(function(err) {
console.info("clean failed with error message: " + err.message + ", error code: " + err.code);
});
```
## cloudSyncManager.clean
clean(accountId: string, appActions: { [bundleName: string]: Action }, callback: AsyncCallback<void>): void
Clears the cloud data locally. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.CLOUDFILE_SYNC_MANAGER
**System capability**: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
**Parameters**
| Name | Type | Mandatory| Description|
| ---------- | ------ | ---- | ---- |
| accountId | string | Yes | Account ID.|
| appActions | object | Yes | Action to take. **bundleName** indicates the application bundle to clear, and [Action](#action) indicates the action to take.|
| callback | AsyncCallback<void> | Yes | Callback invoked to return the result.|
**Error codes**
For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md).
| ID | Error Message |
| ---------------------------- | ---------- |
| 201 | Permission verification failed. |
| 202 | The caller is not a system application. |
| 401 | The input parameter is invalid. |
**Example**
```js
let accountId = "testAccount";
let appActions = {"com.example.bundleName1": cloudSyncManager.Action.RETAIN_DATA,
"com.example.bundleName2": cloudSyncManager.Action.CLEAR_DATA};
cloudSyncManager.clean(accountId, appActions, (err) => {
if (err) {
console.info("clean failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("clean successfully");
}
});
```
......@@ -10,6 +10,7 @@ The error codes of the file management subsystem include the following:
- [User Data Management Error Codes](#user-data-management-error-code)
- [User File Access Error Codes](#user-file-access-error-codes)
- [Space Statistics Error Codes](#space-statistics-error-codes)
- [Device-Cloud Synchronization Error Codes](#device-cloud-synchronization-error-codes)
## Basic File IO Error Codes
......@@ -155,7 +156,7 @@ The resources are blocked.
**Solution**
Request resources.
Request the resource again.
### 13900011 Memory Overflow
......@@ -273,7 +274,7 @@ The specified directory is invalid.
**Solution**
Check that the directory is correct.
Check that the specified directory is correct.
### 13900019 The Specified Object Is a Directory
......@@ -297,7 +298,7 @@ Invalid argument
**Possible Causes**
Invalid input parameter is detected.
The input parameter is invalid.
**Solution**
......@@ -477,7 +478,7 @@ The specified directory is not empty.
**Error Message**
Too many symbolic links
Too many symbolic links encountered
**Possible Causes**
......@@ -593,7 +594,7 @@ Quota exceeded
**Possible Causes**
The disk space is insufficient.
The storage space is insufficient.
**Solution**
......@@ -926,3 +927,51 @@ Fail to notify agent
**Solution**
Check whether the client is normal.
## Device-Cloud Synchronization Error Codes
### 22400001 Cloud Unavailable
**Error Message**
Cloud status not ready
**Possible Causes**
1. The cloud is not enabled.
2. The cloud synchronization switch is not enabled for the application.
**Solution**
1. Check that the user has logged in with a cloud account.
2. Check that the cloud synchronization switch is enabled.
### 22400002 Network Unavailable
**Error Message**
Network unavailable
**Possible Causes**
The device is not connected to the network or the network is unavailable.
**Solution**
Check the network status.
### 22400003 Low Battery Level
**Error Message**
Battery level warning
**Possible Causes**
The battery level is low.
**Solution**
Perform the operation after the battery is being charged or the battery level is restored.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册