@ohos.file.cloudSyncManager (Device-Cloud Synchronization Management) (System API)
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 an application of 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 provided by this module are system APIs.
Modules to Import
import cloudSyncManager from '@ohos.file.cloudSyncManager';
cloudSyncManager.changeAppCloudSwitch
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.
System capability: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
accountId | string | Yes | Account ID. |
bundleName | string | Yes | Bundle name of the application. |
status | boolean | Yes | State of the cloud-device file synchronization switch to set. The value true means to enable this function; the value false means the opposite. |
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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let bundleName: string = "com.example.bundle";
cloudSyncManager.changeAppCloudSwitch(accountId, bundleName, true).then(() => {
console.info("changeAppCloudSwitch successfully");
}).catch((err: BusinessError) => {
console.info("changeAppCloudSwitch failed with error message: " + err.message + ", error code: " + err.code);
});
cloudSyncManager.changeAppCloudSwitch
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.
System capability: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
accountId | string | Yes | Account ID. |
bundleName | string | Yes | Bundle name of the application. |
status | boolean | Yes | State of the cloud-device file synchronization switch to set. The value true means to enable this function; the value false means the opposite. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the result. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let bundleName: string = "com.example.bundle";
cloudSyncManager.changeAppCloudSwitch(accountId, bundleName, true, (err: BusinessError) => {
if (err) {
console.info("changeAppCloudSwitch failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("changeAppCloudSwitch successfully");
}
});
cloudSyncManager.notifyDataChange
notifyDataChange(accountId: string, bundleName: string): Promise<void>
Notifies the cloud sync service of the application data change in the cloud. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
accountId | string | Yes | Account ID. |
bundleName | string | Yes | Bundle name of the application. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the application data change in the cloud. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let bundleName: string = "com.example.bundle";
cloudSyncManager.notifyDataChange(accountId, bundleName).then(() => {
console.info("notifyDataChange successfully");
}).catch((err: BusinessError) => {
console.info("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
});
cloudSyncManager.notifyDataChange
notifyDataChange(accountId: string, bundleName: string, callback: AsyncCallback<void>): void
Notifies the cloud sync service of the application data change in the cloud. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
accountId | string | Yes | Account ID. |
bundleName | string | Yes | Bundle name of the application. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the application data change in the cloud. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let bundleName: string = "com.example.bundle";
cloudSyncManager.notifyDataChange(accountId, bundleName, (err: BusinessError) => {
if (err) {
console.info("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("notifyDataChange successfully");
}
});
ExtraData11+
Represents the cloud data change information.
System capability: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager
Name | Type | Mandatory | Description |
---|---|---|---|
eventId | string | Yes | Change event ID. |
extraData | ExtraData | Yes | Change of the cloud data. |
cloudSyncManager.notifyDataChange11+
notifyDataChange(userId: number, extraData: ExtraData): Promise<void>
Notifies the cloud sync service of the application data change in the cloud. 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 |
---|---|---|---|
userId | number | Yes | User ID. |
extraData | ExtraData | Yes | Change of the cloud data. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the application data change in the cloud. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed, usually the result returned by VerifyAccessToken. |
202 | Permission verification failed, application which is not a system application uses system API. |
401 | The input parameter is invalid. |
13600001 | IPC error. |
Example
import { BusinessError } from '@ohos.base';
let userId: number = 100;
let extraData: cloudSyncManager.ExtraData = {eventId: "eventId", extraData: "data"};
cloudSyncManager.notifyDataChange(userId, extraData).then(() => {
console.info("notifyDataChange successfully");
}).catch((err: BusinessError) => {
console.info("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
});
cloudSyncManager.notifyDataChange11+
notifyDataChange(userId: number, extraData: ExtraData, callback: AsyncCallback<void>): void
Notifies the cloud sync service of the application data change in the cloud. 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 |
---|---|---|---|
userId | number | Yes | User ID. |
extraData | ExtraData | Yes | Change of the cloud data. |
callback | AsyncCallback<void> | Yes | Callback invoked to return the application data change in the cloud. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
13600001 | IPC error. |
Example
import { BusinessError } from '@ohos.base';
let userId: number = 100;
let extraData: cloudSyncManager.ExtraData = {eventId: "eventId", extraData: "data"};
cloudSyncManager.notifyDataChange(userId, extraData, (err: BusinessError) => {
if (err) {
console.info("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("notifyDataChange successfully");
}
});
cloudSyncManager.enableCloud
enableCloud(accountId: string, switches: Record<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 is a string indicating 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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let switches: Record<string, boolean> = {
'com.example.bundleName1': true,
'com.example.bundleName2': false
}
cloudSyncManager.enableCloud(accountId, switches).then(() => {
console.info("enableCloud successfully");
}).catch((err: BusinessError) => {
console.info("enableCloud failed with error message: " + err.message + ", error code: " + err.code);
});
cloudSyncManager.enableCloud
enableCloud(accountId: string, switches: Record<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 is a string indicating 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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let switches: Record<string, boolean> = {
'com.example.bundleName1': true,
'com.example.bundleName2': false
}
cloudSyncManager.enableCloud(accountId, switches, (err: BusinessError) => {
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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
cloudSyncManager.disableCloud(accountId).then(() => {
console.info("disableCloud successfully");
}).catch((err: BusinessError) => {
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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
cloudSyncManager.disableCloud(accountId, (err: BusinessError) => {
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: Record<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 perform. bundleName is a string indicating the application whose data is to be cleared.Action specifies the action to perform. |
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.
ID | Error Message |
---|---|
201 | Permission verification failed. |
202 | The caller is not a system application. |
401 | The input parameter is invalid. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let appActions: Record<string, cloudSyncManager.Action> = {
'com.example.bundleName1': cloudSyncManager.Action.RETAIN_DATA,
'com.example.bundleName2': cloudSyncManager.Action.CLEAR_DATA
};
cloudSyncManager.clean(accountId, appActions).then(() => {
console.info("clean successfully");
}).catch((err: BusinessError) => {
console.info("clean failed with error message: " + err.message + ", error code: " + err.code);
});
cloudSyncManager.clean
clean(accountId: string, appActions: Record<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 perform. bundleName is a string indicating the application whose data is to be cleared.Action specifies the action to perform. |
callback | AsyncCallback<void> | Yes | Callback invoked to clear the cloud data locally. |
Error codes
For details about the error codes, see File Management Error Codes.
ID | Error Message |
---|---|
201 | Permission verification failed, usually the result returned by VerifyAccessToken. |
202 | Permission verification failed, application which is not a system application uses system API. |
401 | The input parameter is invalid. |
13600001 | IPC error. |
Example
import { BusinessError } from '@ohos.base';
let accountId: string = "testAccount";
let appActions: Record<string, cloudSyncManager.Action> = {
'com.example.bundleName1': cloudSyncManager.Action.RETAIN_DATA,
'com.example.bundleName2': cloudSyncManager.Action.CLEAR_DATA
};
cloudSyncManager.clean(accountId, appActions, (err: BusinessError) => {
if (err) {
console.info("clean failed with error message: " + err.message + ", error code: " + err.code);
} else {
console.info("clean successfully");
}
});