@ohos.file.cloudSyncManager (Device-Cloud Synchronization Management)

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

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 and device services 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 and device services 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");
  }
});

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.

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: { [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.

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: { [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 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.

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: { [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 indicates the action to take.
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.
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, (err: BusinessError) => {
  if (err) {
    console.info("clean failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("clean successfully");
  }
});