• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 卷管理
2
3该模块提供卷、磁盘查询和管理的相关功能:包括查询卷信息,对卷的挂载卸载、对磁盘分区以及卷的格式化等功能。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6>
7> - 本模块首批接口从API version 9开始支持。
8> - API 9当前为Canary版本,仅供试用,不保证接口可稳定调用。
9> - 本模块接口为系统接口,三方应用不支持调用。
10
11## 导入模块
12
13```js
14import volumemanager from "@ohos.volumeManager";
15```
16
17## volumemanager.getAllVolumes
18
19getAllVolumes(): Promise<Array<Volume>>
20
21异步获取当前所有可获得的卷信息,以promise方式返回。
22
23**需要权限**:ohos.permission.STORAGE_MANAGER
24
25**系统能力**:SystemCapability.FileManagement.StorageService.Volume
26
27**返回值:**
28
29  | 类型                               | 说明                       |
30  | ---------------------------------- | -------------------------- |
31  | Promise<[Volume](#volume)[]> | 返回当前所有可获得的卷信息 |
32
33**示例:**
34
35  ```js
36  volumemanager.getAllVolumes().then(function(volumes){
37      // do something
38  });
39  ```
40
41## volumemanager.getAllVolumes
42
43getAllVolumes(callback: AsyncCallback<Array<Volume>>): void
44
45异步获取当前所有可获得的卷信息,以callback方式返回。
46
47**需要权限**:ohos.permission.STORAGE_MANAGER
48
49**系统能力**:SystemCapability.FileManagement.StorageService.Volume
50
51**参数:**
52
53  | 参数名   | 类型                                              | 必填 | 说明                                 |
54  | -------- | ------------------------------------------------- | ---- | ------------------------------------ |
55  | callback | callback:AsyncCallback<[Volume](#volume)[]> | 是   | 获取当前所有可获得的卷信息之后的回调 |
56
57**示例:**
58
59  ```js
60  let uuid = "";
61  volumemanager.getAllVolumes(function(error, volumes){
62      // do something
63  });
64  ```
65
66
67## volumemanager.mount
68
69mount(volumeId: string): Promise<boolean>
70
71异步挂载指定卷,以promise方式返回。
72
73**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
74
75**系统能力**:SystemCapability.FileManagement.StorageService.Volume
76
77**参数:**
78
79  | 参数名   | 类型   | 必填 | 说明 |
80  | -------- | ------ | ---- | ---- |
81  | volumeId | string | 是   | 卷id |
82
83**返回值:**
84
85  | 类型                   | 说明       |
86  | ---------------------- | ---------- |
87  | Promise<boolean> | 挂载指定卷 |
88
89**示例:**
90
91  ```js
92  let volumeId = "";
93  volumemanager.mount(volumeId).then(function(flag){
94      // do something
95  });
96  ```
97
98## volumemanager.mount
99
100mount(volumeId: string, callback:AsyncCallback<boolean>):void
101
102异步获取指定卷的可用空间大小,以callback方式返回。
103
104**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
105
106**系统能力**:SystemCapability.FileManagement.StorageService.Volume
107
108**参数:**
109
110  | 参数名   | 类型                                  | 必填 | 说明                 |
111  | -------- | ------------------------------------- | ---- | -------------------- |
112  | volumeId | string                                | 是   | 卷id                 |
113  | callback | callback:AsyncCallback<boolean> | 是   | 挂载指定卷之后的回调 |
114
115**示例:**
116
117  ```js
118  let volumeId = "";
119  volumemanager.mount(volumeId, function(error, flag){
120      // do something
121  });
122  ```
123
124## volumemanager.unmount
125
126unmount(volumeId: string): Promise<boolean>
127
128异步卸载指定卷,以promise方式返回。
129
130**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
131
132**系统能力**:SystemCapability.FileManagement.StorageService.Volume
133
134**参数:**
135
136  | 参数名   | 类型   | 必填 | 说明 |
137  | -------- | ------ | ---- | ---- |
138  | volumeId | string | 是   | 卷id |
139
140**返回值:**
141
142  | 类型                   | 说明       |
143  | ---------------------- | ---------- |
144  | Promise<boolean> | 卸载指定卷 |
145
146**示例:**
147
148  ```js
149  let volumeId = "";
150  volumemanager.unmount(volumeId).then(function(flag){
151      // do something
152  });
153  ```
154
155## volumemanager.unmount
156
157unmount(volumeId: string, callback:AsyncCallback<boolean>):void
158
159异步卸载指定卷,以callback方式返回。
160
161**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
162
163**系统能力**:SystemCapability.FileManagement.StorageService.Volume
164
165**参数:**
166
167  | 参数名   | 类型                                  | 必填 | 说明                 |
168  | -------- | ------------------------------------- | ---- | -------------------- |
169  | volumeId | string                                | 是   | 卷id                 |
170  | callback | callback:AsyncCallback<boolean> | 是   | 卸载指定卷之后的回调 |
171
172**示例:**
173
174  ```js
175  let volumeId = "";
176  volumemanager.unmount(volumeId, function(error, flag){
177      // do something
178  });
179  ```
180
181## volumemanager.getVolumeByUuid
182
183getVolumeByUuid(uuid: string): Promise<Volume>
184
185异步通过uuid获得卷信息,以promise方式返回。
186
187**需要权限**:ohos.permission.STORAGE_MANAGER
188
189**系统能力**:SystemCapability.FileManagement.StorageService.Volume
190
191**参数:**
192
193  | 参数名   | 类型   | 必填 | 说明 |
194  | -------- | ------ | ---- | ---- |
195  | uuid | string | 是   | 卷uuid |
196
197**返回值:**
198
199  | 类型                               | 说明                       |
200  | ---------------------------------- | -------------------------- |
201  | Promise<[Volume](#volume)> | 返回当前所有可获得的卷信息 |
202
203**示例:**
204
205  ```js
206  let uuid = "";
207  volumemanager.getVolumeByUuid(uuid).then(function(volume) {
208      console.info("getVolumeByUuid successfully:" + JSON.stringify(volume));
209  }).catch(function(error){
210      console.info("getVolumeByUuid failed with error:"+ error);
211  });
212  ```
213
214## volumemanager.getVolumeByUuid
215
216getVolumeByUuid(uuid: string, callback: AsyncCallback<Volume>): void
217
218异步通过uuid获得卷信息,以callback方式返回。
219
220**需要权限**:ohos.permission.STORAGE_MANAGER
221
222**系统能力**:SystemCapability.FileManagement.StorageService.Volume
223
224**参数:**
225
226  | 参数名    | 类型                                                 | 必填 | 说明                 |
227  | -------- | ------------------------------------------------ | ---- | -------------------- |
228  | uuid | string                                                 | 是   | 卷uuid                 |
229  | callback | callback:AsyncCallback<[Volume](#volume)>  | 是   | 获取卷信息之后的回调 |
230
231**示例:**
232
233  ```js
234  let uuid = "";
235  volumemanager.getVolumeByUuid(uuid, (error, volume) => {
236      // do something
237  });
238  ```
239
240## volumemanager.getVolumeById
241
242getVolumeById(volumeId: string): Promise<Volume>
243
244异步通过卷id获得卷信息,以promise方式返回。
245
246**需要权限**:ohos.permission.STORAGE_MANAGER
247
248**系统能力**:SystemCapability.FileManagement.StorageService.Volume
249
250**参数:**
251
252  | 参数名    | 类型    | 必填  | 说明 |
253  | -------- | ------ | ---- | ---- |
254  | volumeId | string | 是   | 卷id |
255
256**返回值:**
257
258  | 类型                               | 说明                       |
259  | ---------------------------------- | -------------------------- |
260  | Promise<[Volume](#volume)> | 返回当前所有可获得的卷信息 |
261
262**示例:**
263
264  ```js
265  let volumeId = "";
266  volumemanager.getVolumeById(volumeId).then(function(volume) {
267      console.info("getVolumeById successfully:" + JSON.stringify(volume));
268  }).catch(function(error){
269      console.info("getVolumeById failed with error:"+ error);
270  });
271  ```
272
273## volumemanager.getVolumeById
274
275getVolumeById(volumeId: string, callback: AsyncCallback<Volume>): void
276
277异步通过卷id获得卷信息,以callback方式返回。
278
279**需要权限**:ohos.permission.STORAGE_MANAGER
280
281**系统能力**:SystemCapability.FileManagement.StorageService.Volume
282
283**参数:**
284
285  | 参数名   | 类型                      | 必填 | 说明                          |
286  | -------- | ------------------------- | ---- | ----------------------------- |
287  | volumeId | string                    | 是   | 卷id                |
288  | callback | callback:AsyncCallback<[Volume](#volume)> | 是   | 获取卷信息之后的回调  |
289
290**示例:**
291
292  ```js
293  let volumeId = "";
294  volumemanager.getVolumeById(volumeId, (error, volume) => {
295      // do something
296  });
297  ```
298
299## volumemanager.setVolumeDescription
300
301setVolumeDescription(uuid: string, description: string): Promise<void>
302
303异步通过uuid设置卷描述,以promise方式返回。
304
305**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
306
307**系统能力**:SystemCapability.FileManagement.StorageService.Volume
308
309**参数:**
310
311  | 参数名     | 类型   | 必填 | 说明 |
312  | --------- | ------ | ---- | ---- |
313  | uuid      | string | 是   | 卷uuid |
314  | description | string | 是   | 卷描述 |
315
316**返回值:**
317
318  | 类型                    | 说明                       |
319  | ---------------------- | -------------------------- |
320  | Promise<void> | 设置卷信息                  |
321
322**示例:**
323
324  ```js
325  let uuid = "";
326  let description = "";
327  volumemanager.setVolumeDescription(uuid, description).then(function() {
328      console.info("setVolumeDescription successfully");
329  }).catch(function(error){
330      console.info("setVolumeDescription failed with error:"+ error);
331  });
332  ```
333
334## volumemanager.setVolumeDescription
335
336setVolumeDescription(uuid: string, description: string, callback: AsyncCallback<void>): void
337
338异步通过uuid设置卷描述,以callback方式返回。
339
340**需要权限**:ohos.permission.MOUNT_UNMOUNT_MANAGER
341
342**系统能力**:SystemCapability.FileManagement.StorageService.Volume
343
344**参数:**
345
346  | 参数名      | 类型                                     | 必填 | 说明              |
347  | ---------- | --------------------------------------- | ---- | ---------------- |
348  | uuid       | string                                  | 是   | 卷uuid            |
349  | description | string                                 | 是   | 卷描述            |
350  | callback   | callback:AsyncCallback<void>   | 是   | 设置卷描述之后的回调 |
351
352**示例:**
353
354  ```js
355  let uuid = "";
356  let description = "";
357  volumemanager.setVolumeDescription(uuid, description, (error, bool) => {
358      // do something
359  });
360  ```
361
362## volumemanager.format
363
364format(volumeId: string, fsType: string): Promise<void>
365
366异步对指定卷进行格式化,以promise方式返回。
367
368**需要权限**:ohos.permission.MOUNT_FORMAT_MANAGER
369
370**系统能力**:SystemCapability.FileManagement.StorageService.Volume
371
372**参数:**
373
374  | 参数名       | 类型   | 必填 | 说明 |
375  | ----------- | ------ | ---- | ---- |
376  | volumeId    | string | 是   | 卷id |
377  | fsType    | string | 是   | 文件系统类型 |
378
379**返回值:**
380
381  | 类型                   | 说明       |
382  | ---------------------- | ---------- |
383  | Promise<void> | 对指定卷进行格式化 |
384
385**示例:**
386
387  ```js
388  let volumeId = "";
389  let fsType = "";
390  volumemanager.format(volumeId, fsType).then(function() {
391      console.info("format successfully");
392  }).catch(function(error){
393      console.info("format failed with error:"+ error);
394  });
395  ```
396
397## volumemanager.format
398
399format(volumeId: string, fsType: string, callback: AsyncCallback<void>): void
400
401异步对指定卷进行格式化,以callback方式返回。
402
403**需要权限**:ohos.permission.MOUNT_FORMAT_MANAGER
404
405**系统能力**:SystemCapability.FileManagement.StorageService.Volume
406
407**参数:**
408
409  | 参数名   | 类型                      | 必填 | 说明                          |
410  | -------- | ------------------------- | ---- | ----------------------------- |
411  | volumeId | string                    | 是   | 卷id                |
412  | fsType    | string | 是   | 文件系统类型 |
413  | callback | callback:AsyncCallback<void>  | 是   | 对指定卷格式化后的回调  |
414
415**示例:**
416
417  ```js
418  let volumeId = "";
419  let fsType = "";
420  volumemanager.format(volumeId, fsType, (error, bool) => {
421      // do something
422  });
423  ```
424
425## volumemanager.partition
426
427partition(diskId: string, type: number): Promise<void>
428
429异步对磁盘进行分区,以promise方式返回。
430
431**需要权限**:ohos.permission.MOUNT_FORMAT_MANAGER
432
433**系统能力**:SystemCapability.FileManagement.StorageService.Volume
434
435**参数:**
436
437  | 参数名       | 类型   | 必填 | 说明 |
438  | ----------- | ------ | ---- | ---- |
439  | diskId    | string | 是   | 卷所属的磁盘id |
440  | type      | number | 是   | 分区类型    |
441
442**返回值:**
443
444  | 类型                      | 说明                       |
445   | --------------------- | ----------------------- |
446  | Promise<void>   | 对磁盘进行分区              |
447
448**示例:**
449
450  ```js
451  let diskId = "";
452  let type = 0;
453  volumemanager.partition(diskId, type).then(function() {
454      console.info("partition successfully");
455  }).catch(function(error){
456      console.info("partition failed with error:"+ error);
457  });
458  ```
459
460## volumemanager.partition
461
462partition(diskId: string, type: number, callback: AsyncCallback<void>): void
463
464异步对磁盘进行分区,以callback方式返回。
465
466**需要权限**:ohos.permission.MOUNT_FORMAT_MANAGER
467
468**系统能力**:SystemCapability.FileManagement.StorageService.Volume
469
470**参数:**
471
472  | 参数名      | 类型                                   | 必填 | 说明              |
473  | -------- | --------------------------------------- | ---- | ---------------- |
474  | diskId   | string                                  | 是   | 卷所属的磁盘id      |
475  | type     | number                                  | 是   | 分区类型           |
476  | callback | callback:AsyncCallback<void>   | 是   | 对磁盘进行分区      |
477
478**示例:**
479
480  ```js
481  let diskId = "";
482  let type = 0;
483  volumemanager.partition(diskId, type, (error, bool) => {
484      // do something
485  });
486  ```
487
488## Volume
489
490**系统能力**:以下各项对应的系统能力均为SystemCapability.FileManagement.StorageService.Volume491
492### 属性
493
494| 名称         | 类型    | 说明                 |
495| ----------- | ------- | -------------------- |
496| id          | string  | 卷id                 |
497| uuid        | string  | 卷uuid               |
498| diskId      | string  | 卷所属的磁盘id        |
499| description | string  | 卷相关描述           |
500| removable   | boolean | 是否为可移动存储设备 |
501| state       | number  | 当前卷状态           |
502| path        | string  | 卷的挂载地址         |