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.Volume。 491 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 | 卷的挂载地址 |