harmony 鸿蒙@ohos.file.cloudSyncManager (端云同步管理能力)(系统接口)

  • 2025-06-12
  • 浏览 (2)

@ohos.file.cloudSyncManager (端云同步管理能力)(系统接口)

该模块向云空间应用提供端云同步管理能力:包括使能/去使能端云协同能力、修改应用同步开关,云端数据变化通知以及账号退出清理/保留云相关文件等。

说明:

  • 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 本模块为系统接口。

导入模块

import { cloudSyncManager } from '@kit.CoreFileKit';

cloudSyncManager.changeAppCloudSwitch

changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean): Promise<void>

异步方法修改应用的端云文件同步开关,以Promise形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
bundleName string 应用包名。
status boolean 修改的应用云同步开关状态。true为打开;false为关闭。

返回值:

类型 说明
Promise<void> 使用Promise形式返回修改应用的端云文件同步开关的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  let bundleName: string = "com.example.bundle";
  cloudSyncManager.changeAppCloudSwitch(accountId, bundleName, true).then(() => {
    console.info("changeAppCloudSwitch successfully");
  }).catch((err: BusinessError) => {
    console.error("changeAppCloudSwitch failed with error message: " + err.message + ", error code: " + err.code);
  });

cloudSyncManager.changeAppCloudSwitch

changeAppCloudSwitch(accountId: string, bundleName: string, status: boolean, callback: AsyncCallback<void>): void

异步方法修改应用的端云文件同步开关,以callback形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
bundleName string 应用包名
status boolean 修改的应用云同步开关状态。true为打开;false为关闭。
callback AsyncCallback<void> 异步修改应用的端云文件同步开关之后的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  let bundleName: string = "com.example.bundle";
  cloudSyncManager.changeAppCloudSwitch(accountId, bundleName, true, (err: BusinessError) => {
    if (err) {
      console.error("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>

异步方法通知端云服务应用的云数据变更,以Promise形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
bundleName string 应用包名。

返回值:

类型 说明
Promise<void> 使用Promise形式返回通知端云服务应用的云数据变更的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  let bundleName: string = "com.example.bundle";
  cloudSyncManager.notifyDataChange(accountId, bundleName).then(() => {
    console.info("notifyDataChange successfully");
  }).catch((err: BusinessError) => {
    console.error("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
  });

cloudSyncManager.notifyDataChange

notifyDataChange(accountId: string, bundleName: string, callback: AsyncCallback<void>): void

异步方法通知端云服务应用的云数据变更,以callback形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
bundleName string 应用包名。
callback AsyncCallback<void> 异步通知端云服务应用的云数据变更之后的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  let bundleName: string = "com.example.bundle";
  cloudSyncManager.notifyDataChange(accountId, bundleName, (err: BusinessError) => {
    if (err) {
      console.error("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("notifyDataChange successfully");
    }
  });

ExtraData11+

云端数据变更信息。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

名称 类型 必填 说明
eventId string 变更事件id。
extraData ExtraData 云端数据变更信息。

cloudSyncManager.notifyDataChange11+

notifyDataChange(userId: number, extraData: ExtraData): Promise<void>

异步方法通知端云服务应用的云数据变更,以Promise形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
userId number 用户Id。
extraData ExtraData 云端数据变更信息。

返回值:

类型 说明
Promise<void> 使用Promise形式返回通知端云服务应用的云数据变更的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
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. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.
13600001 IPC error.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  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.error("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
  });

cloudSyncManager.notifyDataChange11+

notifyDataChange(userId: number, extraData: ExtraData, callback: AsyncCallback<void>): void

异步方法通知端云服务应用的云数据变更,以callback形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
userId number 用户Id。
extraData ExtraData 云端数据变更信息。
callback AsyncCallback<void> 异步通知端云服务应用的云数据变更之后的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid.
13600001 IPC error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let userId: number = 100;
  let extraData: cloudSyncManager.ExtraData = {eventId: "eventId", extraData: "data"};
  cloudSyncManager.notifyDataChange(userId, extraData, (err: BusinessError) => {
    if (err) {
      console.error("notifyDataChange failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("notifyDataChange successfully");
    }
  });

cloudSyncManager.enableCloud

enableCloud(accountId: string, switches: Record): Promise<void>

异步方法使能端云协同能力,以Promise形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
switches Record 应用的端云协同特性使能开关,string类型为应用包名,boolean类型为开关状态。true为打开;false为关闭。

返回值:

类型 说明
Promise<void> 使用Promise形式返回使能端云协同能力的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  let switches: Record<string, boolean> = {
    'com.example.bundleName1': true,
    'com.example.bundleName2': false
  }
  cloudSyncManager.enableCloud(accountId, switches).then(() => {
    console.error("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, callback: AsyncCallback&lt;void&gt;): void

异步方法使能端云协同能力,以callback形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
switches Record 应用的端云协同特性使能开关,string类型为应用包名,boolean类型为开关状态。true为打开;false为关闭。
callback AsyncCallback&lt;void&gt; 异步使能端云协同能力之后的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  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.error("enableCloud failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("enableCloud successfully");
    }
  });

cloudSyncManager.disableCloud

disableCloud(accountId: string): Promise&lt;void&gt;

异步方法去使能端云协同能力,以Promise形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。

返回值:

类型 说明
Promise&lt;void&gt; 使用Promise形式返回去使能端云协同能力的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  cloudSyncManager.disableCloud(accountId).then(() => {
    console.info("disableCloud successfully");
  }).catch((err: BusinessError) => {
    console.error("disableCloud failed with error message: " + err.message + ", error code: " + err.code);
  });

cloudSyncManager.disableCloud

disableCloud(accountId: string, callback: AsyncCallback&lt;void&gt;): void

异步方法去使能端云协同能力,以callback形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
callback AsyncCallback&lt;void&gt; 异步去使能端云协同能力之后的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  let accountId: string = "testAccount";
  cloudSyncManager.disableCloud(accountId, (err: BusinessError) => {
    if (err) {
      console.error("disableCloud failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("disableCloud successfully");
    }
  });

Action

清理本地云相关数据时的Action,为枚举类型。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力: SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

名称 说明
RETAIN_DATA 0 仅清除云端标识,保留本地缓存文件。
CLEAR_DATA 1 清除云端标识信息,若存在本地缓存文件,一并删除。

cloudSyncManager.clean

clean(accountId: string, appActions: Record): Promise&lt;void&gt;

异步方法清理本地云相关数据,以Promise形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
appActions Record 清理动作类型,string类型为待清理应用包名, Action为清理动作类型。

返回值:

类型 说明
Promise&lt;void&gt; 使用Promise形式返回清理本地云相关数据的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
201 Permission verification failed.
202 The caller is not a system application.
401 The input parameter is invalid. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  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.error("clean failed with error message: " + err.message + ", error code: " + err.code);
  });

cloudSyncManager.clean

clean(accountId: string, appActions: Record, callback: AsyncCallback&lt;void&gt;): void

异步方法清理本地云相关数据,以callback形式返回结果。

需要权限:ohos.permission.CLOUDFILE_SYNC_MANAGER

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSyncManager

参数:

参数名 类型 必填 说明
accountId string 账号Id。
appActions Record 清理动作类型,string类型为待清理应用包名, Action为清理动作类型。
callback AsyncCallback&lt;void&gt; 异步方法清理本地云相关数据。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
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. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

  import { BusinessError } from '@kit.BasicServicesKit';
  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.error("clean failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("clean successfully");
    }
  });

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Core File Kit(文件基础服务)

harmony 鸿蒙Environment

harmony 鸿蒙FileIO

harmony 鸿蒙FileShare_PolicyErrorResult

harmony 鸿蒙FileShare_PolicyInfo

harmony 鸿蒙error_code.h

harmony 鸿蒙文件管理错误码

harmony 鸿蒙FileShare

harmony 鸿蒙FileUri

harmony 鸿蒙@ohos.application.BackupExtensionAbility (备份恢复扩展能力)(系统接口)

0  赞