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

!18425 备份恢复接口说明文档说明调整

Merge pull request !18425 from 花轻似梦/master
......@@ -19,9 +19,9 @@ import backup from '@ohos.file.backup';
**系统能力**:SystemCapability.FileManagement.StorageService.Backup
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------- |
| bundleName | string | 是 | 应用名称,可通过[bundle.BundleInfo](js-apis-bundle-BundleInfo.md)提供的获取方式获取。 |
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ---------------------------------------------------------------------------------------------- |
| bundleName | string | 是 | 应用名称,可通过[bundle.BundleInfo](js-apis-bundle-BundleInfo.md)提供的获取方式获取。 |
| uri | string | 是 | 应用沙箱内待传输文件的名称,当前uri尚未升级为标准格式,仅接受0-9a-zA-Z下划线(_)点(.)组成的名称 |
## FileData
......@@ -70,14 +70,15 @@ onFileReady : AsyncCallback<File>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
......@@ -103,14 +104,15 @@ onBundleBegin : AsyncCallback<string>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
......@@ -134,14 +136,15 @@ onBundleEnd : AsyncCallback<string>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
......@@ -165,14 +168,15 @@ onAllBundlesEnd : AsyncCallback<undefined>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
......@@ -213,20 +217,21 @@ getLocalCapabilities(callback: AsyncCallback<FileData>): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | --------------------- |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------ | ---- | ------------------------------------------------------ |
| callback | AsyncCallback<[FileData](#filedata)> | 是 | 回调函数。当获取成功,err为undefined,否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
......@@ -275,31 +280,34 @@ getLocalCapabilities(): Promise<FileData>
**返回值:**
| 类型 | 说明 |
| -------------------- | ------------------ |
| 类型 | 说明 |
| ------------------------------------ | --------------------------------------------------- |
| Promise<[FileData](#filedata)> | Promise对象,返回描述本地能力的Json文件的FileData。 |
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
```js
import fs from '@ohos.file.fs';
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
fs.closeSync(fileData.fd);
} catch (err) {
console.error('getLocalCapabilities failed with err: ' + err);
async function getLocalCapabilities() {
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
fs.closeSync(fileData.fd);
} catch (err) {
console.error('getLocalCapabilities failed with err: ' + err);
}
}
```
......@@ -345,7 +353,7 @@ constructor(callbacks: GeneralCallbacks);
```js
import fs from '@ohos.file.fs';
let sessionBackup = new backup.SessionBackup({
let generalCallbacks = backup.GeneralCallbacks({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
......@@ -375,6 +383,7 @@ constructor(callbacks: GeneralCallbacks);
console.info('service died');
}
});
let sessionBackup = new backup.SessionBackup(generalCallbacks);
```
### appendBundles
......@@ -397,19 +406,52 @@ appendBundles(bundlesToBackup: string[], callback: AsyncCallback<void>): v
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
```js
import fs from '@ohos.file.fs';
let sessionBackup = new backup.SessionBackup({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
try {
sessionBackup.appendBundles(['com.example.hiworld'], (err) => {
if (err) {
......@@ -447,24 +489,58 @@ appendBundles(bundlesToBackup: string[]): Promise<void>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
```js
try {
await sessionBackup.appendBundles(['com.example.hiworld']);
console.info('appendBundles success');
} catch (err) {
import fs from '@ohos.file.fs';
let sessionBackup = new backup.SessionBackup({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
async function appendBundles() {
try {
await sessionBackup.appendBundles(['com.example.hiworld']);
console.info('appendBundles success');
} catch (err) {
console.error('appendBundles failed with err: ' + err);
}
}
```
......@@ -492,7 +568,7 @@ constructor(callbacks: GeneralCallbacks);
```js
import fs from '@ohos.file.fs';
let sessionRestore = new backup.SessionRestore({
let generalCallbacks = backup.GeneralCallbacks({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
......@@ -518,10 +594,11 @@ constructor(callbacks: GeneralCallbacks);
}
console.info('onAllBundlesEnd success');
},
onRestoreServiceDied: () => {
onBackupServiceDied: () => {
console.info('service died');
}
});
let sessionRestore = new backup.SessionRestore(generalCallbacks);
```
### appendBundles
......@@ -550,30 +627,64 @@ appendBundles(remoteCapabilitiesFd: number, bundlesToBackup: string[], callback:
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
```js
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
sessionRestore.appendBundles(fileData.fd, ['com.example.hiworld'], (err) => {
import fs from '@ohos.file.fs';
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
async function appendBundles() {
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
sessionRestore.appendBundles(fileData.fd, ['com.example.hiworld'], (err) => {
if (err) {
console.error('appendBundles failed with err: ' + err);
}
console.info('appendBundles success');
});
} catch (err) {
console.error('appendBundles failed with err: ' + err);
} catch (err) {
console.error('getLocalCapabilities failed with err: ' + err);
}
}
```
......@@ -608,26 +719,60 @@ appendBundles(remoteCapabilitiesFd: number, bundlesToBackup: string[]): Promise&
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error |
**示例:**
```js
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
await sessionRestore.appendBundles(fileData.fd, ['com.example.hiworld']);
console.info('appendBundles success');
} catch (err) {
console.error('appendBundles failed with err: ' + err);
import fs from '@ohos.file.fs';
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
async function appendBundles() {
try {
let fileData = await backup.getLocalCapabilities();
console.info('getLocalCapabilities success');
await sessionRestore.appendBundles(fileData.fd, ['com.example.hiworld']);
console.info('appendBundles success');
} catch (err) {
console.error('getLocalCapabilities failed with err: ' + err);
}
}
```
......@@ -658,18 +803,49 @@ getFileHandle(fileMeta: FileMeta, callback: AsyncCallback<void>): void
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
**示例:**
```js
try {
sessionRestore.getFileHandle({
import fs from '@ohos.file.fs';
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
sessionRestore.getFileHandle({
bundleName: "com.example.hiworld",
uri: "test.txt"
}, (err, file) => {
......@@ -678,9 +854,6 @@ getFileHandle(fileMeta: FileMeta, callback: AsyncCallback<void>): void
}
console.info('getFileHandle success');
});
} catch (err) {
console.error('getFileHandle failed with err: ' + err);
}
```
### getFileHandle
......@@ -715,24 +888,58 @@ getFileHandle(fileMeta: FileMeta): Promise<void>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
**示例:**
```js
try {
await sessionRestore.getFileHandle({
bundleName: "com.example.hiworld",
uri: "test.txt"
import fs from '@ohos.file.fs';
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
async function getFileHandle() {
try {
await sessionRestore.getFileHandle({
bundleName: "com.example.hiworld",
uri: "test.txt"
});
console.info('getFileHandle success');
} catch (err) {
console.error('getFileHandle failed with err: ' + err);
console.info('getFileHandle success');
} catch (err) {
console.error('getFileHandle failed with err: ' + err);
}
}
```
......@@ -762,36 +969,62 @@ publishFile(fileMeta: FileMeta, callback: AsyncCallback<void>): void
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
**示例:**
```js
try {
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
sessionRestore.publishFile({
bundleName: file.bundleName,
uri: file.uri
}, (err) => {
import fs from '@ohos.file.fs';
let g_session;
function createSessionRestore() {
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('publishFile failed with err: ' + err);
console.error('onFileReady failed with err: ' + err);
}
console.info('publishFile success');
});
}
} catch (err) {
console.error('publishFile failed with err: ' + err);
console.info('onFileReady success');
fs.closeSync(file.fd);
g_session.publishFile({
bundleName: file.bundleName,
uri: file.uri
}, (err) => {
if (err) {
console.error('publishFile failed with err: ' + err);
}
console.info('publishFile success');
});
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
return sessionRestore;
}
g_session = createSessionRestore();
```
### publishFile
......@@ -825,30 +1058,60 @@ publishFile(fileMeta: FileMeta): Promise<void>
**错误码:**
以下错误码的详细介绍请参见[文件管理子系统错误码](../errorcodes/errorcode-filemanagement.md)
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
**示例:**
```js
try {
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
await sessionRestore.publishFile({
import fs from '@ohos.file.fs';
let g_session;
async function publishFile(file)
{
await g_session.publishFile({
bundleName: file.bundleName,
uri: file.uri
});
console.info('publishFile success');
},
} catch (err) {
console.error('publishFile failed with err: ' + err);
});
}
function createSessionRestore() {
let sessionRestore = new backup.SessionRestore({
onFileReady: (err, file) => {
if (err) {
console.error('onFileReady failed with err: ' + err);
}
console.info('onFileReady success');
fs.closeSync(file.fd);
publishFile(file);
console.info('publishFile success');
},
onBundleBegin: (err, bundleName) => {
if (err) {
console.error('onBundleBegin failed with err: ' + err);
}
console.info('onBundleBegin success');
},
onBundleEnd: (err, bundleName) => {
if (err) {
console.error('onBundleEnd failed with err: ' + err);
}
console.info('onBundleEnd success');
},
onAllBundlesEnd: (err) => {
if (err) {
console.error('onAllBundlesEnd failed with err: ' + err);
}
console.info('onAllBundlesEnd success');
},
onBackupServiceDied: () => {
console.info('service died');
}
});
return sessionRestore;
}
g_session = createSessionRestore();
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册