harmony 鸿蒙@ohos.file.cloudSync (Device-Cloud Synchronization)

2023-10-30 浏览 (471)

@ohos.file.cloudSync (Device-Cloud Synchronization)

The cloudSync module provides the device-cloud synchronization capabilities for applications. You can use the APIs to start or stop device-cloud synchronization and start or stop the download of images.

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 cloudSync from '@ohos.file.cloudSync';

SyncState

Enumerates the device-cloud synchronization states.

NOTE

If a synchronization process event listener is registered for an application, a callback will be invoked to notify the application when any of the following states is changed.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

NameValueDescription
UPLOADING0Uploading.
UPLOAD_FAILED1Upload failed.
DOWNLOADING2Downloading.
DOWNLOAD_FAILED3Download failed.
COMPLETED4Synchronization completed.
STOPPED5Synchronization stopped.

ErrorType

Enumerates the device-cloud synchronization error types.

  • Currently, NETWORK_UNAVAILABLE is returned only when both the mobile network and Wi-Fi are unavailable during synchronization. If either network is available, synchronization can be performed normally.
  • During the synchronization process, if the battery level is lower than 15% in non-charging scenarios, BATTERY_LEVEL_LOW will be return when the current upload is complete; if the battery level is lower than 10% in non-charging scenarios, BATTERY_LEVEL_WARNING will be returned when the current upload is complete.
  • When synchronization is triggered, if the battery level is lower than 15% in non-charging scenarios, synchronization is not allowed and an error code will be returned by start().
  • If the cloud space is insufficient when a file is uploaded, the upload will fail.
  • If the local space is insufficient when a file is downloaded, the download will fail. After the local space is released, the file will be downloaded again when synchronization starts.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

NameValueDescription
NO_ERROR0No error.
NETWORK_UNAVAILABLE1No network is available.
WIFI_UNAVAILABLE2Wi-Fi is unavailable.
BATTERY_LEVEL_LOW3The battery level is lower than 15%.
BATTERY_LEVEL_WARNING4The battery level is lower than 10%.
CLOUD_STORAGE_FULL5The cloud space is insufficient.
LOCAL_STORAGE_FULL6The local space is insufficient.

SyncProgress

Defines the device-cloud synchronization process.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

NameTypeMandatoryDescription
stateSyncStateYesDevice-cloud synchronization state.
errorErrorTypeYesSynchronization error type.

GallerySync

Provides APIs to implement device-cloud synchronization of media resources of the Gallery. Before using the APIs of GallerySync, you need to create a GallerySync instance.

constructor

constructor()

A constructor used to create a GallerySync instance.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Example

let gallerySync = new cloudSync.GallerySync()

on

on(evt: 'progress', callback: (pg: SyncProgress) => void): void

Subscribes to the synchronization process event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to subscribe to. The value is progress, which indicates the synchronization process event.
callback(pg: SyncProgress) => voidYesCallback invoked to return the result. The input parameter is SyncProgress, and the return value is void.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let gallerySync = new cloudSync.GallerySync();

gallerySync.on('progress', (pg: cloudSync.SyncProgress) => {
  console.info("syncState: " + pg.state);
});

off

off(evt: 'progress', callback: (pg: SyncProgress) => void): void

Unsubscribes from the synchronization process event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to unsubscribe from. The value is progress, which indicates the synchronization process event.
callback(pg: SyncProgress) => voidYesCallback for the synchronization process event. The input parameter is SyncProgress, and the return value is void.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let gallerySync = new cloudSync.GallerySync();

let callback = (pg: cloudSync.SyncProgress) => {
  console.info("gallery sync state: " + pg.state + "error type:" + pg.error);
}

gallerySync.on('progress', callback);

gallerySync.off('progress', callback);

off

off(evt: 'progress'): void

Unsubscribes from the synchronization process event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to unsubscribe from. The value is progress, which indicates the synchronization process event.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let gallerySync = new cloudSync.GallerySync();

gallerySync.on('progress', (pg: cloudSync.SyncProgress) => {
    console.info("syncState: " + pg.state);
});

gallerySync.off('progress');

start

start(): Promise<void>

Starts device-cloud synchronization. This API uses a promise to return the result.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
22400001Cloud status not ready.
22400002Network unavailable.
22400003Battery level warning.

Example

import { BusinessError } from '@ohos.base';
let gallerySync = new cloudSync.GallerySync();

gallerySync.on('progress', (pg: cloudSync.SyncProgress) => {
    console.info("syncState: " + pg.state);
});

gallerySync.start().then(() => {
    console.info("start sync successfully");
}).catch((err: BusinessError) => {
    console.info("start sync failed with error message: " + err.message + ", error code: " + err.code);
});

start

start(callback: AsyncCallback<void>): void

Starts device-cloud synchronization. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
22400001Cloud status not ready.
22400002Network unavailable.
22400003Battery level warning.

Example

import { BusinessError } from '@ohos.base';
let gallerySync = new cloudSync.GallerySync();

gallerySync.start((err: BusinessError) => {
  if (err) {
    console.info("start sync failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("start sync successfully");
  }
});

stop

stop(): Promise<void>

Stops device-cloud synchronization. This API uses a promise to return the result.

NOTE

Calling stop will stop the synchronization process. To resume the synchronization, call start.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.

Example

import { BusinessError } from '@ohos.base';
let gallerySync = new cloudSync.GallerySync();

gallerySync.stop().then(() => {
    console.info("stop sync successfully");
}).catch((err: BusinessError) => {
    console.info("stop sync failed with error message: " + err.message + ", error code: " + err.code);
});

stop

stop(callback: AsyncCallback<void>): void

Stops device-cloud synchronization. This API uses an asynchronous callback to return the result.

NOTE

Calling stop will stop the synchronization process. To resume the synchronization, call start.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.

Example

import { BusinessError } from '@ohos.base';
let gallerySync = new cloudSync.GallerySync();

gallerySync.stop((err: BusinessError) => {
  if (err) {
    console.info("stop sync failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("stop sync successfully");
  }
});

State

Enumerates the download states of a cloud file.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

NameValueDescription
RUNNING0The cloud file is being downloaded.
COMPLETED1The cloud file download is complete.
FAILED2The cloud file download failed.
STOPPED3The cloud file download is stopped.

DownloadProgress

Defines the download process of a cloud file.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

NameTypeMandatoryDescription
stateStateYesFile download state.
processednumberYesSize of data downloaded.
sizenumberYesCurrent size of the file.
uristringYesURI of the file.

Download

Provides APIs for downloading the image files in Gallery. Before using the APIs of Download, you need to create a Download instance.

constructor

constructor()

A constructor used to create a Download instance.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Example

let download = new cloudSync.Download()

on

on(evt: 'progress', callback: (pg: DownloadProgress) => void): void

Subscribes to the cloud file download event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to subscribe to. The value is progress, which indicates the download process event.
callback(pg: DownloadProgress) => voidYesCallback invoked to return the result. The input parameter is DownloadProgress, and the return value is void.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let download = new cloudSync.Download();

download.on('progress', (pg: cloudSync.DownloadProgress) => {
  console.info("download state: " + pg.state);
});

off

off(evt: 'progress', callback: (pg: DownloadProgress) => void): void

Unsubscribes from the cloud file download event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to unsubscribe from. The value is progress, which indicates the synchronization process event.
callback(pg: DownloadProgress) => voidYesCallback for the cloud file download event. The input parameter is DownloadProgress, and the return value is void.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let download = new cloudSync.Download();

let callback = (pg: cloudSync.DownloadProgress) => {
  console.info("download state: " + pg.state);
}

download.on('progress', callback);

download.off('progress', callback);

off

off(evt: 'progress'): void

Unsubscribes from the cloud file download event.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
evtstringYesType of the event to unsubscribe from. The value is progress, which indicates the download process event.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13600001IPC error.

Example

let download = new cloudSync.Download();

download.on('progress', (pg: cloudSync.DownloadProgress) => {
    console.info("download state:" + pg.state);
});

download.off('progress');

start

start(uri: string): Promise<void>

Starts to download a cloud file. This API uses a promise to return the result.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
uristringYesURI of the file to download.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Example

import { BusinessError } from '@ohos.base';
let download = new cloudSync.Download();
let uri: string = "file:///media/Photo/1";

download.on('progress', (pg: cloudSync.DownloadProgress) => {
    console.info("download state:" + pg.state);
});

download.start(uri).then(() => {
    console.info("start download successfully");
}).catch((err: BusinessError) => {
    console.info("start download failed with error message: " + err.message + ", error code: " + err.code);
});

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13900002No such file or directory.
13900025No space left on device.

start

start(uri: string, callback: AsyncCallback<void>): void

Starts to download a cloud file. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
uristringYesURI of the file to download.
callbackAsyncCallback<void>YesCallback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.
13900002No such file or directory.
13900025No space left on device.

Example

import { BusinessError } from '@ohos.base';
let download = new cloudSync.Download();
let uri: string = "file:///media/Photo/1";

download.start(uri, (err: BusinessError) => {
  if (err) {
    console.info("start download failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("start download successfully");
  }
});

stop

stop(uri: string): Promise<void>

Stops downloading a cloud file. This API uses a promise to return the result.

NOTE

Calling stop will terminate the download of the current file and clear the cached file. You can use start to start the download again.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
uristringYesURI of the file to download.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.

Example

import { BusinessError } from '@ohos.base';
let download = new cloudSync.Download();
let uri: string = "file:///media/Photo/1";

download.stop(uri).then(() => {
    console.info("stop download successfully");
}).catch((err: BusinessError) => {
    console.info("stop download failed with error message: " + err.message + ", error code: " + err.code);
});

stop

stop(uri: string, callback: AsyncCallback<void>): void

Stops downloading a cloud file. This API uses an asynchronous callback to return the result.

NOTE

Calling stop will terminate the download of the current file and clear the cached file. You can use start to start the download again.

Required permissions: ohos.permission.CLOUDFILE_SYNC

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

NameTypeMandatoryDescription
uristringYesURI of the file to download.
callbackAsyncCallback<void>YesCallback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

IDError Message
201Permission verification failed.
202The caller is not a system application.
401The input parameter is invalid.

Example

import { BusinessError } from '@ohos.base';
let download = new cloudSync.Download();
let uri: string = "file:///media/Photo/1";

download.stop(uri, (err: BusinessError) => {
  if (err) {
    console.info("stop download failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("stop download successfully");
  }
});

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/cb01af9ff844498c82fde43dab081fbc