1# @ohos.resourceManager (资源管理) 2 3资源管理模块,根据当前configuration:语言、区域、横竖屏、Mcc(移动国家码)和Mnc(移动网络码)、Device capability(设备类型)、Density(分辨率)提供获取应用资源信息读取接口。 4 5> **说明:** 6> 7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10## 导入模块 11 12```js 13import resourceManager from '@ohos.resourceManager'; 14``` 15 16## 使用说明 17 18从API Version9开始,Stage模型通过context获取resourceManager对象的方式后,可直接调用其内部获取资源的接口,无需再导入包。此方式FA模型不适用,FA模型还需要先导入包,再调用[getResourceManager](#resourcemanagergetresourcemanager)接口获取资源对象。 19Stage模型下Context的引用方法请参考[Stage模型的Context详细介绍](../..//application-models/application-context-stage.md)。 20 21```ts 22import UIAbility from '@ohos.app.ability.UIAbility'; 23 24export default class EntryAbility extends UIAbility { 25 onWindowStageCreate(windowStage) { 26 let context = this.context; 27 let resourceManager = context.resourceManager; 28 } 29} 30``` 31 32## resourceManager.getResourceManager 33 34getResourceManager(callback: AsyncCallback<ResourceManager>): void 35 36获取当前应用的资源管理对象,使用callback形式返回ResourceManager对象。 37 38**模型约束**:此接口仅可在FA模型下使用。 39 40**系统能力**:SystemCapability.Global.ResourceManager 41 42**参数:** 43 44| 参数名 | 类型 | 必填 | 说明 | 45| -------- | ---------------------------------------- | ---- | ----------------------------- | 46| callback | AsyncCallback<[ResourceManager](#resourcemanager)> | 是 | callback方式返回ResourceManager对象 | 47 48**示例:** 49 ```js 50 resourceManager.getResourceManager((error, mgr) => { 51 if (error != null) { 52 console.log("error is " + error); 53 return; 54 } 55 mgr.getString(0x1000000, (error, value) => { 56 if (error != null) { 57 console.log("error is " + error); 58 } else { 59 let str = value; 60 } 61 }); 62 }); 63 ``` 64注:示例代码中的0x1000000表示资源对应的id, 其可在编译后的文件ResourceTable.txt中找到。 65 66 67## resourceManager.getResourceManager 68 69getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void 70 71获取指定应用的资源管理对象,使用callback形式返回ResourceManager对象。 72 73**模型约束**:此接口仅可在FA模型下使用。 74 75**系统能力**:SystemCapability.Global.ResourceManager 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| ---------- | ---------------------------------------- | ---- | ----------------------------- | 81| bundleName | string | 是 | 指定应用的Bundle名称 | 82| callback | AsyncCallback<[ResourceManager](#resourcemanager)> | 是 | callback方式返回ResourceManager对象 | 83 84**示例:** 85 ```js 86 resourceManager.getResourceManager("com.example.myapplication", (error, mgr) => { 87 }); 88 ``` 89 90 91## resourceManager.getResourceManager 92 93getResourceManager(): Promise<ResourceManager> 94 95获取当前应用的资源管理对象,使用Promise形式返回ResourceManager对象。 96 97**模型约束**:此接口仅可在FA模型下使用。 98 99**系统能力**:SystemCapability.Global.ResourceManager 100 101**返回值:** 102 103| 类型 | 说明 | 104| ---------------------------------------- | ----------------- | 105| Promise<[ResourceManager](#resourcemanager)> | Promise方式返回资源管理对象 | 106 107**示例:** 108 ```js 109 resourceManager.getResourceManager().then(mgr => { 110 mgr.getString(0x1000000, (error, value) => { 111 if (error != null) { 112 console.log("error is " + error); 113 } else { 114 let str = value; 115 } 116 }); 117 }).catch(error => { 118 console.log("error is " + error); 119 }); 120 ``` 121注:示例代码中的0x1000000表示资源对应的id, 其可在编译后的文件ResourceTable.txt中找到。 122 123 124## resourceManager.getResourceManager 125 126getResourceManager(bundleName: string): Promise<ResourceManager> 127 128获取指定应用的资源管理对象,使用Promise形式返回ResourceManager对象。 129 130**模型约束**:此接口仅可在FA模型下使用。 131 132**系统能力**:SystemCapability.Global.ResourceManager 133 134**参数:** 135 136| 参数名 | 类型 | 必填 | 说明 | 137| ---------- | ------ | ---- | ------------- | 138| bundleName | string | 是 | 指定应用的Bundle名称 | 139 140**返回值:** 141 142| 类型 | 说明 | 143| ---------------------------------------- | ------------------ | 144| Promise<[ResourceManager](#resourcemanager)> | Promise方式返回的资源管理对象 | 145 146**示例:** 147 ```js 148 resourceManager.getResourceManager("com.example.myapplication").then(mgr => { 149 }).catch(error => { 150 }); 151 ``` 152 153 154## Direction 155 156用于表示设备屏幕方向。 157 158**系统能力**:SystemCapability.Global.ResourceManager 159 160| 名称 | 值 | 说明 | 161| -------------------- | ---- | ---- | 162| DIRECTION_VERTICAL | 0 | 竖屏 | 163| DIRECTION_HORIZONTAL | 1 | 横屏 | 164 165 166## DeviceType 167 168用于表示当前设备类型。 169 170**系统能力**:SystemCapability.Global.ResourceManager 171 172| 名称 | 值 | 说明 | 173| -------------------- | ---- | ---- | 174| DEVICE_TYPE_PHONE | 0x00 | 手机 | 175| DEVICE_TYPE_TABLET | 0x01 | 平板 | 176| DEVICE_TYPE_CAR | 0x02 | 汽车 | 177| DEVICE_TYPE_PC | 0x03 | 电脑 | 178| DEVICE_TYPE_TV | 0x04 | 电视 | 179| DEVICE_TYPE_WEARABLE | 0x06 | 穿戴 | 180 181 182## ScreenDensity 183 184用于表示当前设备屏幕密度。 185 186**系统能力**:SystemCapability.Global.ResourceManager 187 188| 名称 | 值 | 说明 | 189| -------------- | ---- | ---------- | 190| SCREEN_SDPI | 120 | 小规模的屏幕密度 | 191| SCREEN_MDPI | 160 | 中规模的屏幕密度 | 192| SCREEN_LDPI | 240 | 大规模的屏幕密度 | 193| SCREEN_XLDPI | 320 | 特大规模的屏幕密度 | 194| SCREEN_XXLDPI | 480 | 超大规模的屏幕密度 | 195| SCREEN_XXXLDPI | 640 | 超特大规模的屏幕密度 | 196 197 198## Configuration 199 200表示当前设备的状态。 201 202**系统能力**:SystemCapability.Global.ResourceManager 203 204**参数:** 205 206| 名称 | 类型 | 可读 | 可写 | 说明 | 207| --------- | ----------------------- | ---- | ---- | -------- | 208| direction | [Direction](#direction) | 是 | 否 | 当前设备屏幕方向 | 209| locale | string | 是 | 否 | 当前系统语言 | 210 211**示例:** 212 213 ```js 214resourceManager.getResourceManager((error, mgr) => { 215 mgr.getConfiguration((error, value) => { 216 let direction = value.direction; 217 let locale = value.locale; 218 }); 219 }); 220 ``` 221 222## DeviceCapability 223 224表示设备支持的能力。 225 226**系统能力**:SystemCapability.Global.ResourceManager 227 228**参数:** 229 230| 名称 | 类型 | 可读 | 可写 | 说明 | 231| ------------- | ------------------------------- | ---- | ---- | -------- | 232| screenDensity | [ScreenDensity](#screendensity) | 是 | 否 | 当前设备屏幕密度 | 233| deviceType | [DeviceType](#devicetype) | 是 | 否 | 当前设备类型 | 234 235**示例:** 236 237 ```js 238resourceManager.getResourceManager((error, mgr) => { 239 mgr.getDeviceCapability((error, value) => { 240 let screenDensity = value.screenDensity; 241 let deviceType = value.deviceType; 242 }); 243 }); 244 ``` 245 246## RawFileDescriptor<sup>8+</sup> 247 248表示rawfile的descriptor信息。 249 250**系统能力:** SystemCapability.Global.ResourceManager 251 252**参数:** 253 254| 名称 | 类型 | 可读 | 可写 | 说明 | 255| ------ | ------ | ---- | ---- | ------------------ | 256| fd | number | 是 | 否 | rawfile的descriptor | 257| offset | number | 是 | 否 | rawfile的起始偏移量 | 258| length | number | 是 | 否 | rawfile的文件长度 | 259 260## Resource<sup>9+</sup> 261 262表示的资源信息。 263 264**系统能力:** 以下各项对应的系统能力均为SystemCapability.Global.ResourceManager 265 266**参数:** 267 268| 名称 | 类型 | 可读 | 可写 |说明 | 269| ---------- | ------ | ----- | ---- | ---------------| 270| bundleName | string | 是 | 否 | 应用的bundle名称 | 271| moduleName | string | 是 | 否 | 应用的module名称 | 272| id | number | 是 | 否 | 资源的id值 | 273 274 275## ResourceManager 276 277提供访问应用资源的能力。 278 279> **说明:** 280> 281> - ResourceManager涉及到的方法,仅限基于TS扩展的声明式开发范式使用。 282> 283> - 资源文件在工程的resources目录中定义,id可通过$r(资源地址).id的方式获取,例如$r('app.string.test').id。 284 285### getStringValue<sup>9+</sup> 286 287getStringValue(resId: number, callback: AsyncCallback<string>): void 288 289用户获取指定资源ID对应的字符串,使用callback形式返回字符串。 290 291**系统能力**:SystemCapability.Global.ResourceManager 292 293**参数:** 294 295| 参数名 | 类型 | 必填 | 说明 | 296| -------- | --------------------------- | ---- | --------------- | 297| resId | number | 是 | 资源ID值 | 298| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | 299 300**错误码:** 301 302以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 303 304| 错误码ID | 错误信息 | 305| -------- | ---------------------------------------- | 306| 9001001 | If the module resId invalid. | 307| 9001002 | If the resource not found by resId. | 308| 9001006 | If the resource re-ref too much. | 309 310**示例Stage:** 311 ```ts 312 try { 313 this.context.resourceManager.getStringValue($r('app.string.test').id, (error, value) => { 314 if (error != null) { 315 console.log("error is " + error); 316 } else { 317 let str = value; 318 } 319 }); 320 } catch (error) { 321 console.error(`callback getStringValue failed, error code: ${error.code}, message: ${error.message}.`) 322 } 323 ``` 324 325 326### getStringValue<sup>9+</sup> 327 328getStringValue(resId: number): Promise<string> 329 330用户获取指定资源ID对应的字符串,使用Promise形式返回字符串。 331 332**系统能力**:SystemCapability.Global.ResourceManager 333 334**参数:** 335 336| 参数名 | 类型 | 必填 | 说明 | 337| ----- | ------ | ---- | ----- | 338| resId | number | 是 | 资源ID值 | 339 340**返回值:** 341 342| 类型 | 说明 | 343| --------------------- | ----------- | 344| Promise<string> | 资源ID值对应的字符串 | 345 346以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 347 348**错误码:** 349 350| 错误码ID | 错误信息 | 351| -------- | ---------------------------------------- | 352| 9001001 | If the resId invalid. | 353| 9001002 | If the resource not found by resId. | 354| 9001006 | If the resource re-ref too much. | 355 356**示例:** 357 ```ts 358 try { 359 this.context.resourceManager.getStringValue($r('app.string.test').id).then(value => { 360 let str = value; 361 }).catch(error => { 362 console.log("getStringValue promise error is " + error); 363 }); 364 } catch (error) { 365 console.error(`promise getStringValue failed, error code: ${error.code}, message: ${error.message}.`) 366 } 367 ``` 368 369 370### getStringValue<sup>9+</sup> 371 372getStringValue(resource: Resource, callback: AsyncCallback<string>): void 373 374用户获取指定resource对象对应的字符串,使用callback形式返回字符串。 375 376**系统能力**:SystemCapability.Global.ResourceManager 377 378**参数:** 379 380| 参数名 | 类型 | 必填 | 说明 | 381| -------- | --------------------------- | ---- | --------------- | 382| resource | [Resource](#resource9) | 是 | 资源信息 | 383| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | 384 385以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 386 387**错误码:** 388 389| 错误码ID | 错误信息 | 390| -------- | ---------------------------------------- | 391| 9001001 | If the resId invalid. | 392| 9001002 | If the resource not found by resId. | 393| 9001006 | If the resource re-ref too much. | 394 395**示例:** 396 ```ts 397 let resource = { 398 bundleName: "com.example.myapplication", 399 moduleName: "entry", 400 id: $r('app.string.test').id 401 }; 402 try { 403 this.context.resourceManager.getStringValue(resource, (error, value) => { 404 if (error != null) { 405 console.log("error is " + error); 406 } else { 407 let str = value; 408 } 409 }); 410 } catch (error) { 411 console.error(`callback getStringValue failed, error code: ${error.code}, message: ${error.message}.`) 412 } 413 414 ``` 415 416 417### getStringValue<sup>9+</sup> 418 419getStringValue(resource: Resource): Promise<string> 420 421用户获取指定resource对象对应的字符串,使用Promise形式返回字符串。 422 423**系统能力**:SystemCapability.Global.ResourceManager 424 425**参数:** 426 427| 参数名 | 类型 | 必填 | 说明 | 428| -------- | ---------------------- | ---- | ---- | 429| resource | [Resource](#resource9) | 是 | 资源信息 | 430 431**返回值:** 432 433| 类型 | 说明 | 434| --------------------- | ---------------- | 435| Promise<string> | resource对象对应的字符串 | 436 437以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 438 439**错误码:** 440 441| 错误码ID | 错误信息 | 442| -------- | ---------------------------------------- | 443| 9001001 | If the resId invalid. | 444| 9001002 | If the resource not found by resId. | 445| 9001006 | If the resource re-ref too much. | 446 447**示例:** 448 ```ts 449 let resource = { 450 bundleName: "com.example.myapplication", 451 moduleName: "entry", 452 id: $r('app.string.test').id 453 }; 454 try { 455 this.context.resourceManager.getStringValue(resource).then(value => { 456 let str = value; 457 }).catch(error => { 458 console.log("getStringValue promise error is " + error); 459 }); 460 } catch (error) { 461 console.error(`callback getStringValue failed, error code: ${error.code}, message: ${error.message}.`) 462 } 463 ``` 464 465 466### getStringArrayValue<sup>9+</sup> 467 468getStringArrayValue(resId: number, callback: AsyncCallback<Array<string>>): void 469 470用户获取指定资源ID对应的字符串数组,使用callback形式返回字符串数组。 471 472**系统能力**:SystemCapability.Global.ResourceManager 473 474**参数:** 475 476| 参数名 | 类型 | 必填 | 说明 | 477| -------- | ---------------------------------------- | ---- | ----------------- | 478| resId | number | 是 | 资源ID值 | 479| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | 480 481以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 482 483**错误码:** 484 485| 错误码ID | 错误信息 | 486| -------- | ---------------------------------------- | 487| 9001001 | If the resId invalid. | 488| 9001002 | If the resource not found by resId. | 489| 9001006 | If the resource re-ref too much. | 490 491**示例:** 492 ```ts 493 try { 494 this.context.resourceManager.getStringArrayValue($r('app.strarray.test').id, (error, value) => { 495 if (error != null) { 496 console.log("error is " + error); 497 } else { 498 let strArray = value; 499 } 500 }); 501 } catch (error) { 502 console.error(`callback getStringArrayValue failed, error code: ${error.code}, message: ${error.message}.`) 503 } 504 ``` 505 506 507### getStringArrayValue<sup>9+</sup> 508 509getStringArrayValue(resId: number): Promise<Array<string>> 510 511用户获取指定资源ID对应的字符串数组,使用Promise形式返回字符串数组。 512 513**系统能力**:SystemCapability.Global.ResourceManager 514 515**参数:** 516 517| 参数名 | 类型 | 必填 | 说明 | 518| ----- | ------ | ---- | ----- | 519| resId | number | 是 | 资源ID值 | 520 521**返回值:** 522 523| 类型 | 说明 | 524| ---------------------------------- | ------------- | 525| Promise<Array<string>> | 资源ID值对应的字符串数组 | 526 527以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 528 529**错误码:** 530 531| 错误码ID | 错误信息 | 532| -------- | ---------------------------------------- | 533| 9001001 | If the resId invalid. | 534| 9001002 | If the resource not found by resId. | 535| 9001006 | If the resource re-ref too much. | 536 537**示例:** 538 ```ts 539 try { 540 this.context.resourceManager.getStringArrayValue($r('app.strarray.test').id).then(value => { 541 let strArray = value; 542 }).catch(error => { 543 console.log("getStringArrayValue promise error is " + error); 544 }); 545 } catch (error) { 546 console.error(`promise getStringArrayValue failed, error code: ${error.code}, message: ${error.message}.`) 547 } 548 ``` 549 550### getStringArrayValue<sup>9+</sup> 551 552getStringArrayValue(resource: Resource, callback: AsyncCallback<Array<string>>): void 553 554用户获取指定resource对象对应的字符串数组,使用callback形式返回回字符串数组。 555 556**系统能力**:SystemCapability.Global.ResourceManager 557 558**参数:** 559 560| 参数名 | 类型 | 必填 | 说明 | 561| -------- | ---------------------------------------- | ---- | ----------------- | 562| resource | [Resource](#resource9) | 是 | 资源信息 | 563| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | 564 565以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 566 567**错误码:** 568 569| 错误码ID | 错误信息 | 570| -------- | ---------------------------------------- | 571| 9001001 | If the resId invalid. | 572| 9001002 | If the resource not found by resId. | 573| 9001006 | If the resource re-ref too much. | 574 575**示例:** 576 ```ts 577 let resource = { 578 bundleName: "com.example.myapplication", 579 moduleName: "entry", 580 id: $r('app.strarray.test').id 581 }; 582 try { 583 this.context.resourceManager.getStringArrayValue(resource, (error, value) => { 584 if (error != null) { 585 console.log("error is " + error); 586 } else { 587 let strArray = value; 588 } 589 }); 590 } catch (error) { 591 console.error(`callback getStringArrayValue failed, error code: ${error.code}, message: ${error.message}.`) 592 } 593 ``` 594 595### getStringArrayValue<sup>9+</sup> 596 597getStringArrayValue(resource: Resource): Promise<Array<string>> 598 599用户获取指定resource对象对应的字符串数组,使用Promise形式返回字符串数组。 600 601**系统能力**:SystemCapability.Global.ResourceManager 602 603**参数:** 604 605| 参数名 | 类型 | 必填 | 说明 | 606| -------- | ---------------------- | ---- | ---- | 607| resource | [Resource](#resource9) | 是 | 资源信息 | 608 609**返回值:** 610 611| 类型 | 说明 | 612| ---------------------------------- | ------------------ | 613| Promise<Array<string>> | resource对象对应的字符串数组 | 614 615以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 616 617**错误码:** 618 619| 错误码ID | 错误信息 | 620| -------- | ---------------------------------------- | 621| 9001001 | If the resId invalid. | 622| 9001002 | If the resource not found by resId. | 623| 9001006 | If the resource re-ref too much. | 624 625**示例:** 626 ```ts 627 let resource = { 628 bundleName: "com.example.myapplication", 629 moduleName: "entry", 630 id: $r('app.strarray.test').id 631 }; 632 try { 633 this.context.resourceManager.getStringArrayValue(resource).then(value => { 634 let strArray = value; 635 }).catch(error => { 636 console.log("getStringArray promise error is " + error); 637 }); 638 } catch (error) { 639 console.error(`promise getStringArrayValue failed, error code: ${error.code}, message: ${error.message}.`) 640 } 641 ``` 642 643 644### getMediaContent<sup>9+</sup> 645 646getMediaContent(resId: number, callback: AsyncCallback<Uint8Array>): void 647 648用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。 649 650**系统能力**:SystemCapability.Global.ResourceManager 651 652**参数:** 653 654| 参数名 | 类型 | 必填 | 说明 | 655| -------- | ------------------------------- | ---- | ------------------ | 656| resId | number | 是 | 资源ID值 | 657| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | 658 659以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 660 661**错误码:** 662 663| 错误码ID | 错误信息 | 664| -------- | ---------------------------------------- | 665| 9001001 | If the resId invalid. | 666| 9001002 | If the resource not found by resId. | 667 668**示例:** 669 ```ts 670 try { 671 this.context.resourceManager.getMediaContent($r('app.media.test').id, (error, value) => { 672 if (error != null) { 673 console.log("error is " + error); 674 } else { 675 let media = value; 676 } 677 }); 678 } catch (error) { 679 console.error(`callback getMediaContent failed, error code: ${error.code}, message: ${error.message}.`) 680 } 681 ``` 682 683 684### getMediaContent<sup>9+</sup> 685 686getMediaContent(resId: number): Promise<Uint8Array> 687 688用户获取指定资源ID对应的媒体文件内容,使用Promise形式返回字节数组。 689 690**系统能力**:SystemCapability.Global.ResourceManager 691 692**参数:** 693 694| 参数名 | 类型 | 必填 | 说明 | 695| ----- | ------ | ---- | ----- | 696| resId | number | 是 | 资源ID值 | 697 698**返回值:** 699 700| 类型 | 说明 | 701| ------------------------- | -------------- | 702| Promise<Uint8Array> | 资源ID值对应的媒体文件内容 | 703 704以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 705 706**错误码:** 707 708| 错误码ID | 错误信息 | 709| -------- | ---------------------------------------- | 710| 9001001 | If the resId invalid. | 711| 9001002 | If the resource not found by resId. | 712 713**示例:** 714 ```ts 715 try { 716 this.context.resourceManager.getMediaContent($r('app.media.test').id).then(value => { 717 let media = value; 718 }).catch(error => { 719 console.log("getMediaContent promise error is " + error); 720 }); 721 } catch (error) { 722 console.error(`promise getMediaContent failed, error code: ${error.code}, message: ${error.message}.`) 723 } 724 ``` 725 726### getMediaContent<sup>9+</sup> 727 728getMediaContent(resource: Resource, callback: AsyncCallback<Uint8Array>): void 729 730用户获取指定resource对象对应的媒体文件内容,使用callback形式返回字节数组。 731 732**系统能力**:SystemCapability.Global.ResourceManager 733 734**参数:** 735 736| 参数名 | 类型 | 必填 | 说明 | 737| -------- | ------------------------------- | ---- | ------------------ | 738| resource | [Resource](#resource9) | 是 | 资源信息 | 739| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | 740 741以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 742 743**错误码:** 744 745| 错误码ID | 错误信息 | 746| -------- | ---------------------------------------- | 747| 9001001 | If the resId invalid. | 748| 9001002 | If the resource not found by resId. | 749 750**示例:** 751 ```ts 752 let resource = { 753 bundleName: "com.example.myapplication", 754 moduleName: "entry", 755 id: $r('app.media.test').id 756 }; 757 try { 758 this.context.resourceManager.getMediaContent(resource, (error, value) => { 759 if (error != null) { 760 console.log("error is " + error); 761 } else { 762 let media = value; 763 } 764 }); 765 } catch (error) { 766 console.error(`callback getMediaContent failed, error code: ${error.code}, message: ${error.message}.`) 767 } 768 ``` 769 770### getMediaContent<sup>9+</sup> 771 772getMediaContent(resource: Resource): Promise<Uint8Array> 773 774用户获取指定resource对象对应的媒体文件内容,使用Promise形式返回字节数组。 775 776**系统能力**:SystemCapability.Global.ResourceManager 777 778**参数:** 779 780| 参数名 | 类型 | 必填 | 说明 | 781| -------- | ---------------------- | ---- | ---- | 782| resource | [Resource](#resource9) | 是 | 资源信息 | 783 784**返回值:** 785 786| 类型 | 说明 | 787| ------------------------- | ------------------- | 788| Promise<Uint8Array> | resource对象对应的媒体文件内容 | 789 790以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 791 792**错误码:** 793 794| 错误码ID | 错误信息 | 795| -------- | ---------------------------------------- | 796| 9001001 | If the resId invalid. | 797| 9001002 | If the resource not found by resId. | 798 799**示例:** 800 ```ts 801 let resource = { 802 bundleName: "com.example.myapplication", 803 moduleName: "entry", 804 id: $r('app.media.test').id 805 }; 806 try { 807 this.context.resourceManager.getMediaContent(resource).then(value => { 808 let media = value; 809 }).catch(error => { 810 console.log("getMediaContent promise error is " + error); 811 }); 812 } catch (error) { 813 console.error(`promise getMediaContent failed, error code: ${error.code}, message: ${error.message}.`) 814 } 815 ``` 816 817 818### getMediaContentBase64<sup>9+</sup> 819 820getMediaContentBase64(resId: number, callback: AsyncCallback<string>): void 821 822用户获取指定资源ID对应的图片资源Base64编码,使用callback形式返回字符串。 823 824**系统能力**:SystemCapability.Global.ResourceManager 825 826**参数:** 827 828| 参数名 | 类型 | 必填 | 说明 | 829| -------- | --------------------------- | ---- | ------------------------ | 830| resId | number | 是 | 资源ID值 | 831| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | 832 833以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 834 835**错误码:** 836 837| 错误码ID | 错误信息 | 838| -------- | ---------------------------------------- | 839| 9001001 | If the resId invalid. | 840| 9001002 | If the resource not found by resId. | 841 842**示例:** 843 ```ts 844 try { 845 this.context.resourceManager.getMediaContentBase64($r('app.media.test').id, (error, value) => { 846 if (error != null) { 847 console.log("error is " + error); 848 } else { 849 let media = value; 850 } 851 }); 852 } catch (error) { 853 console.error(`callback getMediaContentBase64 failed, error code: ${error.code}, message: ${error.message}.`) 854 } 855 ``` 856 857 858### getMediaContentBase64<sup>9+</sup> 859 860getMediaContentBase64(resId: number): Promise<string> 861 862用户获取指定资源ID对应的图片资源Base64编码,使用Promise形式返回字符串。 863 864**系统能力**:SystemCapability.Global.ResourceManager 865 866**参数:** 867 868| 参数名 | 类型 | 必填 | 说明 | 869| ----- | ------ | ---- | ----- | 870| resId | number | 是 | 资源ID值 | 871 872**返回值:** 873 874| 类型 | 说明 | 875| --------------------- | -------------------- | 876| Promise<string> | 资源ID值对应的图片资源Base64编码 | 877 878以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 879 880**错误码:** 881 882| 错误码ID | 错误信息 | 883| -------- | ---------------------------------------- | 884| 9001001 | If the resId invalid. | 885| 9001002 | If the resource not found by resId. | 886 887**示例:** 888 ```ts 889 try { 890 this.context.resourceManager.getMediaContentBase64($r('app.media.test').id).then(value => { 891 let media = value; 892 }).catch(error => { 893 console.log("getMediaContentBase64 promise error is " + error); 894 }); 895 } catch (error) { 896 console.error(`promise getMediaContentBase64 failed, error code: ${error.code}, message: ${error.message}.`) 897 } 898 ``` 899 900### getMediaContentBase64<sup>9+</sup> 901 902getMediaContentBase64(resource: Resource, callback: AsyncCallback<string>): void 903 904用户获取指定resource对象对应的图片资源Base64编码,使用callback形式返回字符串。 905 906**系统能力**:SystemCapability.Global.ResourceManager 907 908**参数:** 909 910| 参数名 | 类型 | 必填 | 说明 | 911| -------- | --------------------------- | ---- | ------------------------ | 912| resource | [Resource](#resource9) | 是 | 资源信息 | 913| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | 914 915以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 916 917**错误码:** 918 919| 错误码ID | 错误信息 | 920| -------- | ---------------------------------------- | 921| 9001001 | If the resId invalid. | 922| 9001002 | If the resource not found by resId. | 923 924**示例:** 925 ```ts 926 let resource = { 927 bundleName: "com.example.myapplication", 928 moduleName: "entry", 929 id: $r('app.media.test').id 930 }; 931 try { 932 this.context.resourceManager.getMediaContentBase64(resource, (error, value) => { 933 if (error != null) { 934 console.log("error is " + error); 935 } else { 936 let media = value; 937 } 938 }); 939 } catch (error) { 940 console.error(`promise getMediaContentBase64 failed, error code: ${error.code}, message: ${error.message}.`) 941 } 942 ``` 943 944### getMediaContentBase64<sup>9+</sup> 945 946getMediaContentBase64(resource: Resource): Promise<string> 947 948用户获取指定resource对象对应的图片资源Base64编码,使用Promise形式返回字符串。 949 950**系统能力**:SystemCapability.Global.ResourceManager 951 952**参数:** 953 954| 参数名 | 类型 | 必填 | 说明 | 955| -------- | ---------------------- | ---- | ---- | 956| resource | [Resource](#resource9) | 是 | 资源信息 | 957 958**返回值:** 959 960| 类型 | 说明 | 961| --------------------- | ------------------------- | 962| Promise<string> | resource对象对应的图片资源Base64编码 | 963 964以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 965 966**错误码:** 967 968| 错误码ID | 错误信息 | 969| -------- | ---------------------------------------- | 970| 9001001 | If the resId invalid. | 971| 9001002 | If the resource not found by resId. | 972 973**示例:** 974 ```ts 975 let resource = { 976 bundleName: "com.example.myapplication", 977 moduleName: "entry", 978 id: $r('app.media.test').id 979 }; 980 try { 981 this.context.resourceManager.getMediaContentBase64(resource).then(value => { 982 let media = value; 983 }).catch(error => { 984 console.log("getMediaContentBase64 promise error is " + error); 985 }); 986 } catch (error) { 987 console.error(`promise getMediaContentBase64 failed, error code: ${error.code}, message: ${error.message}.`) 988 } 989 ``` 990 991 992### getConfiguration 993 994getConfiguration(callback: AsyncCallback<Configuration>): void 995 996用户获取设备的Configuration,使用callback形式返回Configuration对象。 997 998**系统能力**:SystemCapability.Global.ResourceManager 999 1000**参数:** 1001 1002| 参数名 | 类型 | 必填 | 说明 | 1003| -------- | ---------------------------------------- | ---- | ------------------------- | 1004| callback | AsyncCallback<[Configuration](#configuration)> | 是 | 异步回调,用于返回设备的Configuration | 1005 1006**示例:** 1007 ```ts 1008 resourceManager.getResourceManager((error, mgr) => { 1009 mgr.getConfiguration((error, value) => { 1010 if (error != null) { 1011 console.log("error is " + error); 1012 } else { 1013 let direction = value.direction; 1014 let locale = value.locale; 1015 } 1016 }); 1017 }); 1018 ``` 1019 1020 1021### getConfiguration 1022 1023getConfiguration(): Promise<Configuration> 1024 1025用户获取设备的Configuration,使用Promise形式返回Configuration对象。 1026 1027**系统能力**:SystemCapability.Global.ResourceManager 1028 1029**返回值:** 1030 1031| 类型 | 说明 | 1032| ---------------------------------------- | ---------------- | 1033| Promise<[Configuration](#configuration)> | 设备的Configuration | 1034 1035**示例:** 1036 ```ts 1037 resourceManager.getResourceManager((error, mgr) => { 1038 mgr.getConfiguration().then(value => { 1039 let direction = value.direction; 1040 let locale = value.locale; 1041 }).catch(error => { 1042 console.log("getConfiguration promise error is " + error); 1043 }); 1044 }); 1045 ``` 1046 1047 1048### getDeviceCapability 1049 1050getDeviceCapability(callback: AsyncCallback<DeviceCapability>): void 1051 1052用户获取设备的DeviceCapability,使用callback形式返回DeviceCapability对象。 1053 1054**系统能力**:SystemCapability.Global.ResourceManager 1055 1056**参数:** 1057 1058| 参数名 | 类型 | 必填 | 说明 | 1059| -------- | ---------------------------------------- | ---- | ---------------------------- | 1060| callback | AsyncCallback<[DeviceCapability](#devicecapability)> | 是 | 异步回调,用于返回设备的DeviceCapability | 1061 1062**示例:** 1063 ```ts 1064 resourceManager.getResourceManager((error, mgr) => { 1065 mgr.getDeviceCapability((error, value) => { 1066 if (error != null) { 1067 console.log("error is " + error); 1068 } else { 1069 let screenDensity = value.screenDensity; 1070 let deviceType = value.deviceType; 1071 } 1072 }); 1073 }); 1074 ``` 1075 1076 1077### getDeviceCapability 1078 1079getDeviceCapability(): Promise<DeviceCapability> 1080 1081用户获取设备的DeviceCapability,使用Promise形式返回DeviceCapability对象。 1082 1083**系统能力**:SystemCapability.Global.ResourceManager 1084 1085**返回值:** 1086 1087| 类型 | 说明 | 1088| ---------------------------------------- | ------------------- | 1089| Promise<[DeviceCapability](#devicecapability)> | 设备的DeviceCapability | 1090 1091**示例:** 1092 ```ts 1093 resourceManager.getResourceManager((error, mgr) => { 1094 mgr.getDeviceCapability().then(value => { 1095 let screenDensity = value.screenDensity; 1096 let deviceType = value.deviceType; 1097 }).catch(error => { 1098 console.log("getDeviceCapability promise error is " + error); 1099 }); 1100 }); 1101 ``` 1102 1103 1104### getPluralStringValue<sup>9+</sup> 1105 1106getPluralStringValue(resId: number, num: number, callback: AsyncCallback<string>): void 1107 1108根据指定数量获取指定ID字符串表示的单复数字符串,使用callback形式返回字符串。 1109 1110**系统能力**:SystemCapability.Global.ResourceManager 1111 1112**参数:** 1113 1114| 参数名 | 类型 | 必填 | 说明 | 1115| -------- | --------------------------- | ---- | ------------------------------- | 1116| resId | number | 是 | 资源ID值 | 1117| num | number | 是 | 数量值 | 1118| callback | AsyncCallback<string> | 是 | 异步回调,返回根据指定数量获取指定ID字符串表示的单复数字符串 | 1119 1120以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1121 1122**错误码:** 1123 1124| 错误码ID | 错误信息 | 1125| -------- | ---------------------------------------- | 1126| 9001001 | If the resId invalid. | 1127| 9001002 | If the resource not found by resId. | 1128| 9001006 | If the resource re-ref too much. | 1129 1130**示例:** 1131 ```ts 1132 try { 1133 this.context.resourceManager.getPluralStringValue($r("app.plural.test").id, 1, (error, value) => { 1134 if (error != null) { 1135 console.log("error is " + error); 1136 } else { 1137 let str = value; 1138 } 1139 }); 1140 } catch (error) { 1141 console.error(`callback getPluralStringValue failed, error code: ${error.code}, message: ${error.message}.`) 1142 } 1143 ``` 1144 1145 1146### getPluralStringValue<sup>9+</sup> 1147 1148getPluralStringValue(resId: number, num: number): Promise<string> 1149 1150根据指定数量获取对指定ID字符串表示的单复数字符串,使用Promise形式返回字符串。 1151 1152**系统能力**:SystemCapability.Global.ResourceManager 1153 1154**参数:** 1155 1156| 参数名 | 类型 | 必填 | 说明 | 1157| ----- | ------ | ---- | ----- | 1158| resId | number | 是 | 资源ID值 | 1159| num | number | 是 | 数量值 | 1160 1161**返回值:** 1162 1163| 类型 | 说明 | 1164| --------------------- | ------------------------- | 1165| Promise<string> | 根据提供的数量获取对应ID字符串表示的单复数字符串 | 1166 1167以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1168 1169**错误码:** 1170 1171| 错误码ID | 错误信息 | 1172| -------- | ---------------------------------------- | 1173| 9001001 | If the resId invalid. | 1174| 9001002 | If the resource not found by resId. | 1175| 9001006 | If the resource re-ref too much. | 1176 1177**示例:** 1178 ```ts 1179 try { 1180 this.context.resourceManager.getPluralStringValue($r("app.plural.test").id, 1).then(value => { 1181 let str = value; 1182 }).catch(error => { 1183 console.log("getPluralStringValue promise error is " + error); 1184 }); 1185 } catch (error) { 1186 console.error(`callback getPluralStringValue failed, error code: ${error.code}, message: ${error.message}.`) 1187 } 1188 ``` 1189 1190### getPluralStringValue<sup>9+</sup> 1191 1192getPluralStringValue(resource: Resource, num: number, callback: AsyncCallback<string>): void 1193 1194根据指定数量获取指定resource对象表示的单复数字符串,使用callback形式返回字符串。 1195 1196**系统能力**:SystemCapability.Global.ResourceManager 1197 1198**参数:** 1199 1200| 参数名 | 类型 | 必填 | 说明 | 1201| -------- | --------------------------- | ---- | ------------------------------------ | 1202| resource | [Resource](#resource9) | 是 | 资源信息 | 1203| num | number | 是 | 数量值 | 1204| callback | AsyncCallback<string> | 是 | 异步回调,返回根据指定数量获取指定resource对象表示的单复数字符串 | 1205 1206以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1207 1208**错误码:** 1209 1210| 错误码ID | 错误信息 | 1211| -------- | ---------------------------------------- | 1212| 9001001 | If the resId invalid. | 1213| 9001002 | If the resource not found by resId. | 1214| 9001006 | If the resource re-ref too much. | 1215 1216**示例:** 1217 ```ts 1218 let resource = { 1219 bundleName: "com.example.myapplication", 1220 moduleName: "entry", 1221 id: $r('app.plural.test').id 1222 }; 1223 try { 1224 this.context.resourceManager.getPluralStringValue(resource, 1, (error, value) => { 1225 if (error != null) { 1226 console.log("error is " + error); 1227 } else { 1228 let str = value; 1229 } 1230 }); 1231 } catch (error) { 1232 console.error(`callback getPluralStringValue failed, error code: ${error.code}, message: ${error.message}.`) 1233 } 1234 1235 ``` 1236 1237### getPluralStringValue<sup>9+</sup> 1238 1239getPluralStringValue(resource: Resource, num: number): Promise<string> 1240 1241根据指定数量获取对指定resource对象表示的单复数字符串,使用Promise形式返回字符串。 1242 1243**系统能力**:SystemCapability.Global.ResourceManager 1244 1245**参数:** 1246 1247| 参数名 | 类型 | 必填 | 说明 | 1248| -------- | ---------------------- | ---- | ---- | 1249| resource | [Resource](#resource9) | 是 | 资源信息 | 1250| num | number | 是 | 数量值 | 1251 1252**返回值:** 1253 1254| 类型 | 说明 | 1255| --------------------- | ------------------------------ | 1256| Promise<string> | 根据提供的数量获取对应resource对象表示的单复数字符串 | 1257 1258以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1259 1260**错误码:** 1261 1262| 错误码ID | 错误信息 | 1263| -------- | ---------------------------------------- | 1264| 9001001 | If the resId invalid. | 1265| 9001002 | If the resource not found by resId. | 1266| 9001006 | If the resource re-ref too much. | 1267 1268**示例:** 1269 ```ts 1270 let resource = { 1271 bundleName: "com.example.myapplication", 1272 moduleName: "entry", 1273 id: $r('app.plural.test').id 1274 }; 1275 try { 1276 this.context.resourceManager.getPluralStringValue(resource, 1).then(value => { 1277 let str = value; 1278 }).catch(error => { 1279 console.log("getPluralStringValue promise error is " + error); 1280 }); 1281 } catch (error) { 1282 console.error(`callback getPluralStringValue failed, error code: ${error.code}, message: ${error.message}.`) 1283 } 1284 ``` 1285 1286 1287### getRawFileContent<sup>9+</sup> 1288 1289getRawFileContent(path: string, callback: AsyncCallback<Uint8Array>): void 1290 1291用户获取resources/rawfile目录下对应的rawfile文件内容,使用callback形式返回字节数组。 1292 1293**系统能力**:SystemCapability.Global.ResourceManager 1294 1295**参数:** 1296 1297| 参数名 | 类型 | 必填 | 说明 | 1298| -------- | ------------------------------- | ---- | ----------------------- | 1299| path | string | 是 | rawfile文件路径 | 1300| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的rawfile文件内容 | 1301 1302以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1303 1304**错误码:** 1305 1306| 错误码ID | 错误信息 | 1307| -------- | ---------------------------------------- | 1308| 9001005 | If the resource not found by path. | 1309 1310**示例:** 1311 ```ts 1312 try { 1313 this.context.resourceManager.getRawFileContent("test.xml", (error, value) => { 1314 if (error != null) { 1315 console.log("error is " + error); 1316 } else { 1317 let rawFile = value; 1318 } 1319 }); 1320 } catch (error) { 1321 console.error(`callback getRawFileContent failed, error code: ${error.code}, message: ${error.message}.`) 1322 } 1323 1324 ``` 1325 1326### getRawFileContent<sup>9+</sup> 1327 1328getRawFileContent(path: string): Promise<Uint8Array> 1329 1330用户获取resources/rawfile目录下对应的rawfile文件内容,使用Promise形式返回字节数组。 1331 1332**系统能力**:SystemCapability.Global.ResourceManager 1333 1334**参数:** 1335 1336| 参数名 | 类型 | 必填 | 说明 | 1337| ---- | ------ | ---- | ----------- | 1338| path | string | 是 | rawfile文件路径 | 1339 1340**返回值:** 1341 1342| 类型 | 说明 | 1343| ------------------------- | ----------- | 1344| Promise<Uint8Array> | rawfile文件内容 | 1345 1346以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1347 1348**错误码:** 1349 1350| 错误码ID | 错误信息 | 1351| -------- | ---------------------------------------- | 1352| 9001005 | If the resource not found by path. | 1353 1354**示例:** 1355 ```ts 1356 try { 1357 this.context.resourceManager.getRawFileContent("test.xml").then(value => { 1358 let rawFile = value; 1359 }).catch(error => { 1360 console.log("getRawFileContent promise error is " + error); 1361 }); 1362 } catch (error) { 1363 console.error(`promise getRawFileContent failed, error code: ${error.code}, message: ${error.message}.`) 1364 } 1365 ``` 1366 1367 1368### getRawFd<sup>9+</sup> 1369 1370getRawFd(path: string, callback: AsyncCallback<RawFileDescriptor>): void 1371 1372用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用callback形式返回。 1373 1374**系统能力**:SystemCapability.Global.ResourceManager 1375 1376**参数:** 1377 1378| 参数名 | 类型 | 必填 | 说明 | 1379| -------- | ---------------------------------------- | ---- | -------------------------------- | 1380| path | string | 是 | rawfile文件路径 | 1381| callback | AsyncCallback<[RawFileDescriptor](#rawfiledescriptor8)> | 是 | 异步回调,用于返回获取的rawfile文件的descriptor | 1382 1383以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1384 1385**错误码:** 1386 1387| 错误码ID | 错误信息 | 1388| -------- | ---------------------------------------- | 1389| 9001005 | If the resource not found by path. | 1390 1391**示例:** 1392 ```ts 1393 try { 1394 this.context.resourceManager.getRawFd("test.xml", (error, value) => { 1395 if (error != null) { 1396 console.log(`callback getRawFd failed error code: ${error.code}, message: ${error.message}.`); 1397 } else { 1398 let fd = value.fd; 1399 let offset = value.offset; 1400 let length = value.length; 1401 } 1402 }); 1403 } catch (error) { 1404 console.error(`callback getRawFd failed, error code: ${error.code}, message: ${error.message}.`) 1405 }; 1406 ``` 1407 1408### getRawFd<sup>9+</sup> 1409 1410getRawFd(path: string): Promise<RawFileDescriptor> 1411 1412用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用Promise形式返回。 1413 1414**系统能力**:SystemCapability.Global.ResourceManager 1415 1416**参数:** 1417 1418| 参数名 | 类型 | 必填 | 说明 | 1419| ---- | ------ | ---- | ----------- | 1420| path | string | 是 | rawfile文件路径 | 1421 1422**返回值:** 1423 1424| 类型 | 说明 | 1425| ---------------------------------------- | ------------------- | 1426| Promise<[RawFileDescriptor](#rawfiledescriptor8)> | rawfile文件descriptor | 1427 1428以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1429 1430**错误码:** 1431 1432| 错误码ID | 错误信息 | 1433| -------- | ---------------------------------------- | 1434| 9001005 | If the resource not found by path. | 1435 1436**示例:** 1437 ```ts 1438 try { 1439 this.context.resourceManager.getRawFd("test.xml").then(value => { 1440 let fd = value.fd; 1441 let offset = value.offset; 1442 let length = value.length; 1443 }).catch(error => { 1444 console.log(`promise getRawFd error error code: ${error.code}, message: ${error.message}.`); 1445 }); 1446 } catch (error) { 1447 console.error(`promise getRawFd failed, error code: ${error.code}, message: ${error.message}.`); 1448 }; 1449 ``` 1450 1451### closeRawFileDescriptor<sup>8+</sup> 1452 1453closeRawFileDescriptor(path: string, callback: AsyncCallback<void>): void 1454 1455用户关闭resources/rawfile目录下rawfile文件的descriptor,使用callback形式返回。 1456 1457**系统能力**:SystemCapability.Global.ResourceManager 1458 1459**参数:** 1460 1461| 参数名 | 类型 | 必填 | 说明 | 1462| -------- | ------------------------- | ---- | ----------- | 1463| path | string | 是 | rawfile文件路径 | 1464| callback | AsyncCallback<void> | 是 | 异步回调 | 1465 1466**示例:** 1467 ```ts 1468 resourceManager.getResourceManager((error, mgr) => { 1469 mgr.closeRawFileDescriptor("test.xml", (error, value) => { 1470 if (error != null) { 1471 console.log("error is " + error); 1472 } 1473 }); 1474 }); 1475 ``` 1476 1477### closeRawFileDescriptor<sup>8+</sup> 1478 1479closeRawFileDescriptor(path: string): Promise<void> 1480 1481用户关闭resources/rawfile目录下rawfile文件的descriptor,使用Promise形式返回。 1482 1483**系统能力**:SystemCapability.Global.ResourceManager 1484 1485**参数:** 1486 1487| 参数名 | 类型 | 必填 | 说明 | 1488| ---- | ------ | ---- | ----------- | 1489| path | string | 是 | rawfile文件路径 | 1490 1491**返回值:** 1492 1493| 类型 | 说明 | 1494| ------------------- | ---- | 1495| Promise<void> | 无返回值 | 1496 1497**示例:** 1498 ```ts 1499 resourceManager.getResourceManager((error, mgr) => { 1500 mgr.closeRawFileDescriptor("test.xml").then(value => { 1501 let result = value; 1502 }).catch(error => { 1503 console.log("closeRawFileDescriptor promise error is " + error); 1504 }); 1505 }); 1506 ``` 1507 1508 1509### closeRawFd<sup>9+</sup> 1510 1511closeRawFd(path: string, callback: AsyncCallback<void>): void 1512 1513用户关闭resources/rawfile目录下rawfile文件的descriptor,使用callback形式返回。 1514 1515**系统能力**:SystemCapability.Global.ResourceManager 1516 1517**参数:** 1518 1519| 参数名 | 类型 | 必填 | 说明 | 1520| -------- | ------------------------- | ---- | ----------- | 1521| path | string | 是 | rawfile文件路径 | 1522| callback | AsyncCallback<void> | 是 | 异步回调 | 1523 1524以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1525 1526**错误码:** 1527 1528| 错误码ID | 错误信息 | 1529| -------- | ---------------------------------------- | 1530| 9001005 | The resource not found by path. | 1531 1532**示例:** 1533 ```ts 1534 try { 1535 this.context.resourceManager.closeRawFd("test.xml", (error, value) => { 1536 if (error != null) { 1537 console.log("error is " + error); 1538 } 1539 }); 1540 } catch (error) { 1541 console.error(`callback closeRawFd failed, error code: ${error.code}, message: ${error.message}.`) 1542 } 1543 1544 ``` 1545 1546### closeRawFd<sup>9+</sup> 1547 1548closeRawFd(path: string): Promise<void> 1549 1550用户关闭resources/rawfile目录下rawfile文件的descriptor,使用Promise形式返回。 1551 1552**系统能力**:SystemCapability.Global.ResourceManager 1553 1554**参数:** 1555 1556| 参数名 | 类型 | 必填 | 说明 | 1557| ---- | ------ | ---- | ----------- | 1558| path | string | 是 | rawfile文件路径 | 1559 1560**返回值:** 1561 1562| 类型 | 说明 | 1563| ------------------- | ---- | 1564| Promise<void> | 无返回值 | 1565 1566以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1567 1568**错误码:** 1569 1570| 错误码ID | 错误信息 | 1571| -------- | ---------------------------------------- | 1572| 9001005 | If the resource not found by path. | 1573 1574**示例:** 1575 ```ts 1576 try { 1577 this.context.resourceManager.closeRawFd("test.xml").then(value => { 1578 let result = value; 1579 }).catch(error => { 1580 console.log("closeRawFd promise error is " + error); 1581 }); 1582 } catch (error) { 1583 console.error(`promise closeRawFd failed, error code: ${error.code}, message: ${error.message}.`) 1584 } 1585 ``` 1586 1587### release<sup>7+</sup> 1588 1589release() 1590 1591用户释放创建的resourceManager。 1592 1593**系统能力**:SystemCapability.Global.ResourceManager 1594 1595**示例:** 1596 ```ts 1597 resourceManager.getResourceManager((error, mgr) => { 1598 mgr.release(); 1599 }); 1600 ``` 1601 1602### getStringByName<sup>9+</sup> 1603 1604getStringByName(resName: string, callback: AsyncCallback<string>): void 1605 1606用户获取指定资源名称对应的字符串,使用callback形式返回字符串。 1607 1608**系统能力**:SystemCapability.Global.ResourceManager 1609 1610**参数:** 1611 1612| 参数名 | 类型 | 必填 | 说明 | 1613| -------- | --------------------------- | ---- | --------------- | 1614| resName | string | 是 | 资源名称 | 1615| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | 1616 1617以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1618 1619**错误码:** 1620 1621| 错误码ID | 错误信息 | 1622| -------- | ---------------------------------------- | 1623| 9001003 | If the resName invalid. | 1624| 9001004 | If the resource not found by resName. | 1625| 9001006 | If the resource re-ref too much. | 1626 1627**示例:** 1628 ```ts 1629 try { 1630 this.context.resourceManager.getStringByName("test", (error, value) => { 1631 if (error != null) { 1632 console.log("error is " + error); 1633 } else { 1634 let string = value; 1635 } 1636 }); 1637 } catch (error) { 1638 console.error(`callback getStringByName failed, error code: ${error.code}, message: ${error.message}.`) 1639 } 1640 1641 ``` 1642 1643### getStringByName<sup>9+</sup> 1644 1645getStringByName(resName: string): Promise<string> 1646 1647用户获取指定资源名称对应的字符串,使用Promise形式返回字符串。 1648 1649**系统能力**:SystemCapability.Global.ResourceManager 1650 1651**参数:** 1652 1653| 参数名 | 类型 | 必填 | 说明 | 1654| ------- | ------ | ---- | ---- | 1655| resName | string | 是 | 资源名称 | 1656 1657**返回值:** 1658 1659| 类型 | 说明 | 1660| --------------------- | ---------- | 1661| Promise<string> | 资源名称对应的字符串 | 1662 1663以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1664 1665**错误码:** 1666 1667| 错误码ID | 错误信息 | 1668| -------- | ---------------------------------------- | 1669| 9001003 | If the resName invalid. | 1670| 9001004 | If the resource not found by resName. | 1671| 9001006 | If the resource re-ref too much. | 1672 1673**示例:** 1674 ```ts 1675 try { 1676 this.context.resourceManager.getStringByName("test").then(value => { 1677 let string = value; 1678 }).catch(error => { 1679 console.log("getStringByName promise error is " + error); 1680 }); 1681 } catch (error) { 1682 console.error(`promise getStringByName failed, error code: ${error.code}, message: ${error.message}.`) 1683 } 1684 ``` 1685 1686### getStringArrayByName<sup>9+</sup> 1687 1688getStringArrayByName(resName: string, callback: AsyncCallback<Array<string>>): void 1689 1690用户获取指定资源名称对应的字符串数组,使用callback形式返回字符串数组。 1691 1692**系统能力**:SystemCapability.Global.ResourceManager 1693 1694**参数:** 1695 1696| 参数名 | 类型 | 必填 | 说明 | 1697| -------- | ---------------------------------------- | ---- | ----------------- | 1698| resName | string | 是 | 资源名称 | 1699| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | 1700 1701以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1702 1703**错误码:** 1704 1705| 错误码ID | 错误信息 | 1706| -------- | ---------------------------------------- | 1707| 9001003 | If the resName invalid. | 1708| 9001004 | If the resource not found by resName. | 1709| 9001006 | If the resource re-ref too much. | 1710 1711**示例:** 1712 ```ts 1713 try { 1714 this.context.resourceManager.getStringArrayByName("test", (error, value) => { 1715 if (error != null) { 1716 console.log("error is " + error); 1717 } else { 1718 let strArray = value; 1719 } 1720 }); 1721 } catch (error) { 1722 console.error(`callback getStringArrayByName failed, error code: ${error.code}, message: ${error.message}.`) 1723 } 1724 ``` 1725 1726### getStringArrayByName<sup>9+</sup> 1727 1728getStringArrayByName(resName: string): Promise<Array<string>> 1729 1730用户获取指定资源名称对应的字符串数组,使用Promise形式返回字符串数组。 1731 1732**系统能力**:SystemCapability.Global.ResourceManager 1733 1734**参数:** 1735 1736| 参数名 | 类型 | 必填 | 说明 | 1737| ------- | ------ | ---- | ---- | 1738| resName | string | 是 | 资源名称 | 1739 1740**返回值:** 1741 1742| 类型 | 说明 | 1743| ---------------------------------- | ------------ | 1744| Promise<Array<string>> | 资源名称对应的字符串数组 | 1745 1746以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1747 1748**错误码:** 1749 1750| 错误码ID | 错误信息 | 1751| -------- | ---------------------------------------- | 1752| 9001003 | If the resName invalid. | 1753| 9001004 | If the resource not found by resName. | 1754| 9001006 | If the resource re-ref too much. | 1755 1756**示例:** 1757 ```ts 1758 try { 1759 this.context.resourceManager.getStringArrayByName("test").then(value => { 1760 let strArray = value; 1761 }).catch(error => { 1762 console.log("getStringArrayByName promise error is " + error); 1763 }); 1764 } catch (error) { 1765 console.error(`promise getStringArrayByName failed, error code: ${error.code}, message: ${error.message}.`) 1766 } 1767 ``` 1768 1769### getMediaByName<sup>9+</sup> 1770 1771getMediaByName(resName: string, callback: AsyncCallback<Uint8Array>): void 1772 1773用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。 1774 1775**系统能力**:SystemCapability.Global.ResourceManager 1776 1777**参数:** 1778 1779| 参数名 | 类型 | 必填 | 说明 | 1780| -------- | ------------------------------- | ---- | ------------------ | 1781| resName | string | 是 | 资源名称 | 1782| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | 1783 1784以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1785 1786**错误码:** 1787 1788| 错误码ID | 错误信息 | 1789| -------- | ---------------------------------------- | 1790| 9001003 | If the resName invalid. | 1791| 9001004 | If the resource not found by resName. | 1792| 9001006 | If the resource re-ref too much. | 1793 1794**示例:** 1795 ```ts 1796 try { 1797 this.context.resourceManager.getMediaByName("test", (error, value) => { 1798 if (error != null) { 1799 console.log("error is " + error); 1800 } else { 1801 let media = value; 1802 } 1803 }); 1804 } catch (error) { 1805 console.error(`callback getMediaByName failed, error code: ${error.code}, message: ${error.message}.`) 1806 } 1807 ``` 1808 1809### getMediaByName<sup>9+</sup> 1810 1811getMediaByName(resName: string): Promise<Uint8Array> 1812 1813用户获取指定资源名称对应的媒体文件内容,使用Promise形式返回字节数组。 1814 1815**系统能力**:SystemCapability.Global.ResourceManager 1816 1817**参数:** 1818 1819| 参数名 | 类型 | 必填 | 说明 | 1820| ------- | ------ | ---- | ---- | 1821| resName | string | 是 | 资源名称 | 1822 1823**返回值:** 1824 1825| 类型 | 说明 | 1826| ------------------------- | ------------- | 1827| Promise<Uint8Array> | 资源名称对应的媒体文件内容 | 1828 1829以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1830 1831**错误码:** 1832 1833| 错误码ID | 错误信息 | 1834| -------- | ---------------------------------------- | 1835| 9001003 | If the resName invalid. | 1836| 9001004 | If the resource not found by resName. | 1837| 9001006 | If the resource re-ref too much. | 1838 1839**示例:** 1840 ```ts 1841 try { 1842 this.context.resourceManager.getMediaByName("test").then(value => { 1843 let media = value; 1844 }).catch(error => { 1845 console.log("getMediaByName promise error is " + error); 1846 }); 1847 } catch (error) { 1848 console.error(`promise getMediaByName failed, error code: ${error.code}, message: ${error.message}.`) 1849 } 1850 ``` 1851 1852### getMediaBase64ByName<sup>9+</sup> 1853 1854getMediaBase64ByName(resName: string, callback: AsyncCallback<string>): void 1855 1856用户获取指定资源名称对应的图片资源Base64编码,使用callback形式返回字符串。 1857 1858**系统能力**:SystemCapability.Global.ResourceManager 1859 1860**参数:** 1861 1862| 参数名 | 类型 | 必填 | 说明 | 1863| -------- | --------------------------- | ---- | ------------------------ | 1864| resName | string | 是 | 资源名称 | 1865| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | 1866 1867以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1868 1869**错误码:** 1870 1871| 错误码ID | 错误信息 | 1872| -------- | ---------------------------------------- | 1873| 9001003 | If the resName invalid. | 1874| 9001004 | If the resource not found by resName. | 1875| 9001006 | If the resource re-ref too much. | 1876 1877**示例:** 1878 ```ts 1879 try { 1880 this.context.resourceManager.getMediaBase64ByName("test", (error, value) => { 1881 if (error != null) { 1882 console.log("error is " + error); 1883 } else { 1884 let media = value; 1885 } 1886 }); 1887 } catch (error) { 1888 console.error(`callback getMediaBase64ByName failed, error code: ${error.code}, message: ${error.message}.`) 1889 } 1890 ``` 1891 1892### getMediaBase64ByName<sup>9+</sup> 1893 1894getMediaBase64ByName(resName: string): Promise<string> 1895 1896用户获取指定资源名称对应的图片资源Base64编码,使用Promise形式返回字符串。 1897 1898**系统能力**:SystemCapability.Global.ResourceManager 1899 1900**参数:** 1901 1902| 参数名 | 类型 | 必填 | 说明 | 1903| ------- | ------ | ---- | ---- | 1904| resName | string | 是 | 资源名称 | 1905 1906**返回值:** 1907 1908| 类型 | 说明 | 1909| --------------------- | ------------------- | 1910| Promise<string> | 资源名称对应的图片资源Base64编码 | 1911 1912以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1913 1914**错误码:** 1915 1916| 错误码ID | 错误信息 | 1917| -------- | ---------------------------------------- | 1918| 9001003 | If the resName invalid. | 1919| 9001004 | If the resource not found by resName. | 1920| 9001006 | If the resource re-ref too much. | 1921 1922**示例:** 1923 ```ts 1924 try { 1925 this.context.resourceManager.getMediaBase64ByName("test").then(value => { 1926 let media = value; 1927 }).catch(error => { 1928 console.log("getMediaBase64ByName promise error is " + error); 1929 }); 1930 } catch (error) { 1931 console.error(`promise getMediaBase64ByName failed, error code: ${error.code}, message: ${error.message}.`) 1932 } 1933 ``` 1934 1935### getPluralStringByName<sup>9+</sup> 1936 1937getPluralStringByName(resName: string, num: number, callback: AsyncCallback<string>): void 1938 1939根据传入的数量值,获取资源名称对应的字符串资源,使用callback形式返回字符串。 1940 1941**系统能力**:SystemCapability.Global.ResourceManager 1942 1943**参数:** 1944 1945| 参数名 | 类型 | 必填 | 说明 | 1946| -------- | --------------------------- | ---- | ----------------------------- | 1947| resName | string | 是 | 资源名称 | 1948| num | number | 是 | 数量值 | 1949| callback | AsyncCallback<string> | 是 | 异步回调,返回根据传入的数量值获取资源名称对应的字符串资源 | 1950 1951以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1952 1953**错误码:** 1954 1955| 错误码ID | 错误信息 | 1956| -------- | ---------------------------------------- | 1957| 9001003 | If the resName invalid. | 1958| 9001004 | If the resource not found by resName. | 1959| 9001006 | If the resource re-ref too much. | 1960 1961**示例:** 1962 ```ts 1963 try { 1964 this.context.resourceManager.getPluralStringByName("test", 1, (error, value) => { 1965 if (error != null) { 1966 console.log("error is " + error); 1967 } else { 1968 let str = value; 1969 } 1970 }); 1971 } catch (error) { 1972 console.error(`callback getPluralStringByName failed, error code: ${error.code}, message: ${error.message}.`) 1973 } 1974 1975 ``` 1976 1977### getPluralStringByName<sup>9+</sup> 1978 1979getPluralStringByName(resName: string, num: number): Promise<string> 1980 1981根据传入的数量值,获取资源名称对应的字符串资源,使用Promise形式返回字符串。 1982 1983**系统能力**:SystemCapability.Global.ResourceManager 1984 1985**参数:** 1986 1987| 参数名 | 类型 | 必填 | 说明 | 1988| ------- | ------ | ---- | ---- | 1989| resName | string | 是 | 资源名称 | 1990| num | number | 是 | 数量值 | 1991 1992**返回值:** 1993 1994| 类型 | 说明 | 1995| --------------------- | ---------------------- | 1996| Promise<string> | 根据传入的数量值获取资源名称对应的字符串资源 | 1997 1998以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 1999 2000**错误码:** 2001 2002| 错误码ID | 错误信息 | 2003| -------- | ---------------------------------------- | 2004| 9001003 | If the resName invalid. | 2005| 9001004 | If the resource not found by resName. | 2006| 9001006 | If the resource re-ref too much. | 2007 2008**示例:** 2009 ```ts 2010 try { 2011 this.context.resourceManager.getPluralStringByName("test", 1).then(value => { 2012 let str = value; 2013 }).catch(error => { 2014 console.log("getPluralStringByName promise error is " + error); 2015 }); 2016 } catch (error) { 2017 console.error(`promise getPluralStringByName failed, error code: ${error.code}, message: ${error.message}.`) 2018 } 2019 ``` 2020 2021### getStringSync<sup>9+</sup> 2022 2023getStringSync(resId: number): string 2024 2025用户获取指定资源ID对应的字符串,使用同步方式返回字符串。 2026 2027**系统能力**:SystemCapability.Global.ResourceManager 2028 2029**参数:** 2030 2031| 参数名 | 类型 | 必填 | 说明 | 2032| ----- | ------ | ---- | ----- | 2033| resId | number | 是 | 资源ID值 | 2034 2035**返回值:** 2036 2037| 类型 | 说明 | 2038| ------ | ----------- | 2039| string | 资源ID值对应的字符串 | 2040 2041以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2042 2043**错误码:** 2044 2045| 错误码ID | 错误信息 | 2046| -------- | ---------------------------------------- | 2047| 9001001 | If the resId invalid. | 2048| 9001002 | If the resource not found by resId. | 2049| 9001006 | If the resource re-ref too much. | 2050 2051**示例:** 2052 ```ts 2053 try { 2054 this.context.resourceManager.getStringSync($r('app.string.test').id); 2055 } catch (error) { 2056 console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) 2057 } 2058 ``` 2059 2060### getStringSync<sup>9+</sup> 2061 2062getStringSync(resource: Resource): string 2063 2064用户获取指定resource对象对应的字符串,使用同步方式返回字符串。 2065 2066**系统能力**:SystemCapability.Global.ResourceManager 2067 2068**参数:** 2069 2070| 参数名 | 类型 | 必填 | 说明 | 2071| -------- | ---------------------- | ---- | ---- | 2072| resource | [Resource](#resource9) | 是 | 资源信息 | 2073 2074**返回值:** 2075 2076| 类型 | 说明 | 2077| ------ | ---------------- | 2078| string | resource对象对应的字符串 | 2079 2080以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2081 2082**错误码:** 2083 2084| 错误码ID | 错误信息 | 2085| -------- | ---------------------------------------- | 2086| 9001001 | If the resId invalid. | 2087| 9001002 | If the resource not found by resId. | 2088| 9001006 | If the resource re-ref too much. | 2089 2090**示例:** 2091 ```ts 2092 let resource = { 2093 bundleName: "com.example.myapplication", 2094 moduleName: "entry", 2095 id: $r('app.string.test').id 2096 }; 2097 try { 2098 this.context.resourceManager.getStringSync(resource); 2099 } catch (error) { 2100 console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) 2101 } 2102 ``` 2103 2104### getStringByNameSync<sup>9+</sup> 2105 2106getStringByNameSync(resName: string): string 2107 2108用户获取指定资源名称对应的字符串,使用同步方式返回字符串。 2109 2110**系统能力**:SystemCapability.Global.ResourceManager 2111 2112**参数:** 2113 2114| 参数名 | 类型 | 必填 | 说明 | 2115| ------- | ------ | ---- | ---- | 2116| resName | string | 是 | 资源名称 | 2117 2118**返回值:** 2119 2120| 类型 | 说明 | 2121| ------ | ---------- | 2122| string | 资源名称对应的字符串 | 2123 2124以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2125 2126**错误码:** 2127 2128| 错误码ID | 错误信息 | 2129| -------- | ---------------------------------------- | 2130| 9001003 | If the resName invalid. | 2131| 9001004 | If the resource not found by resName. | 2132| 9001006 | If the resource re-ref too much. | 2133 2134**示例:** 2135 ```ts 2136 try { 2137 this.context.resourceManager.getStringByNameSync("test"); 2138 } catch (error) { 2139 console.error(`getStringByNameSync failed, error code: ${error.code}, message: ${error.message}.`) 2140 } 2141 ``` 2142 2143### getBoolean<sup>9+</sup> 2144 2145getBoolean(resId: number): boolean 2146 2147使用同步方式,返回获取指定资源ID对应的布尔结果。 2148 2149**系统能力**:SystemCapability.Global.ResourceManager 2150 2151**参数:** 2152 2153| 参数名 | 类型 | 必填 | 说明 | 2154| ----- | ------ | ---- | ----- | 2155| resId | number | 是 | 资源ID值 | 2156 2157**返回值:** 2158 2159| 类型 | 说明 | 2160| ------- | ------------ | 2161| boolean | 资源ID值对应的布尔结果 | 2162 2163以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2164 2165**错误码:** 2166 2167| 错误码ID | 错误信息 | 2168| -------- | ---------------------------------------- | 2169| 9001001 | If the resId invalid. | 2170| 9001002 | If the resource not found by resId. | 2171| 9001006 | If the resource re-ref too much. | 2172 2173**示例:** 2174 ```ts 2175 try { 2176 this.context.resourceManager.getBoolean($r('app.boolean.boolean_test').id); 2177 } catch (error) { 2178 console.error(`getBoolean failed, error code: ${error.code}, message: ${error.message}.`) 2179 } 2180 ``` 2181### getBoolean<sup>9+</sup> 2182 2183getBoolean(resource: Resource): boolean 2184 2185使用同步方式,返回获取指定resource对象对应的布尔结果。 2186 2187**系统能力**:SystemCapability.Global.ResourceManager 2188 2189**参数:** 2190 2191| 参数名 | 类型 | 必填 | 说明 | 2192| -------- | ---------------------- | ---- | ---- | 2193| resource | [Resource](#resource9) | 是 | 资源信息 | 2194 2195**返回值:** 2196 2197| 类型 | 说明 | 2198| ------- | ----------------- | 2199| boolean | resource对象对应的布尔结果 | 2200 2201以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2202 2203**错误码:** 2204 2205| 错误码ID | 错误信息 | 2206| -------- | ---------------------------------------- | 2207| 9001001 | If the resId invalid. | 2208| 9001002 | If the resource not found by resId. | 2209| 9001006 | If the resource re-ref too much. | 2210 2211**示例:** 2212 ```ts 2213 let resource = { 2214 bundleName: "com.example.myapplication", 2215 moduleName: "entry", 2216 id: $r('app.boolean.boolean_test').id 2217 }; 2218 try { 2219 this.context.resourceManager.getBoolean(resource); 2220 } catch (error) { 2221 console.error(`getBoolean failed, error code: ${error.code}, message: ${error.message}.`) 2222 } 2223 ``` 2224 2225### getBooleanByName<sup>9+</sup> 2226 2227getBooleanByName(resName: string): boolean 2228 2229使用同步方式,返回获取指定资源名称对应的布尔结果 2230 2231**系统能力**:SystemCapability.Global.ResourceManager 2232 2233**参数:** 2234 2235| 参数名 | 类型 | 必填 | 说明 | 2236| ------- | ------ | ---- | ---- | 2237| resName | string | 是 | 资源名称 | 2238 2239**返回值:** 2240 2241| 类型 | 说明 | 2242| ------- | ----------- | 2243| boolean | 资源名称对应的布尔结果 | 2244 2245以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2246 2247**错误码:** 2248 2249| 错误码ID | 错误信息 | 2250| -------- | ---------------------------------------- | 2251| 9001003 | If the resName invalid. | 2252| 9001004 | If the resource not found by resName. | 2253| 9001006 | If the resource re-ref too much. | 2254 2255**示例:** 2256 ```ts 2257 try { 2258 this.context.resourceManager.getBooleanByName("boolean_test"); 2259 } catch (error) { 2260 console.error(`getBooleanByName failed, error code: ${error.code}, message: ${error.message}.`) 2261 } 2262 ``` 2263 2264### getNumber<sup>9+</sup> 2265 2266getNumber(resId: number): number 2267 2268用户获取指定资源ID对应的integer数值或者float数值,使用同步方式返回资源对应的数值。 2269 2270**系统能力**:SystemCapability.Global.ResourceManager 2271 2272**参数:** 2273 2274| 参数名 | 类型 | 必填 | 说明 | 2275| ----- | ------ | ---- | ----- | 2276| resId | number | 是 | 资源ID值 | 2277 2278**返回值:** 2279 2280| 类型 | 说明 | 2281| ------ | ---------- | 2282| number | 资源ID值对应的数值。Integer对应的是原数值,float对应的是真实像素点值,具体参考示例代码 | 2283 2284以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2285 2286**错误码:** 2287 2288| 错误码ID | 错误信息 | 2289| -------- | ---------------------------------------- | 2290| 9001001 | If the resId invalid. | 2291| 9001002 | If the resource not found by resId. | 2292| 9001006 | If the resource re-ref too much. | 2293 2294**示例:** 2295 ```ts 2296 try { 2297 this.context.resourceManager.getNumber($r('app.integer.integer_test').id); // integer对应返回的是原数值 2298 } catch (error) { 2299 console.error(`getNumber failed, error code: ${error.code}, message: ${error.message}.`) 2300 } 2301 2302 try { 2303 this.context.resourceManager.getNumber($r('app.float.float_test').id); // float对应返回的是真实像素点值 2304 } catch (error) { 2305 console.error(`getNumber failed, error code: ${error.code}, message: ${error.message}.`) 2306 } 2307 ``` 2308 2309### getNumber<sup>9+</sup> 2310 2311getNumber(resource: Resource): number 2312 2313用户获取指定resource对象对应的integer数值或者float数值,使用同步方式返回资源对应的数值。 2314 2315**系统能力**:SystemCapability.Global.ResourceManager 2316 2317**参数:** 2318 2319| 参数名 | 类型 | 必填 | 说明 | 2320| -------- | ---------------------- | ---- | ---- | 2321| resource | [Resource](#resource9) | 是 | 资源信息 | 2322 2323**返回值:** 2324 2325| 类型 | 说明 | 2326| ------ | --------------- | 2327| number | resource对象对应的数值。Integer对应的是原数值,float对应的是真实像素点值,具体参考示例代码 | 2328 2329以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2330 2331**错误码:** 2332 2333| 错误码ID | 错误信息 | 2334| -------- | ---------------------------------------- | 2335| 9001001 | If the resId invalid. | 2336| 9001002 | If the resource not found by resId. | 2337| 9001006 | If the resource re-ref too much. | 2338 2339**示例:** 2340 ```ts 2341 let resource = { 2342 bundleName: "com.example.myapplication", 2343 moduleName: "entry", 2344 id: $r('app.integer.integer_test').id 2345 }; 2346 try { 2347 this.context.resourceManager.getNumber(resource);// integer对应返回的是原数值, float对应返回的是真实像素点值 2348 } catch (error) { 2349 console.error(`getNumber failed, error code: ${error.code}, message: ${error.message}.`) 2350 } 2351 ``` 2352 2353### getNumberByName<sup>9+</sup> 2354 2355getNumberByName(resName: string): number 2356 2357用户获取指定资源名称对应的integer数值或者float数值,使用同步方式资源对应的数值。 2358 2359**系统能力**:SystemCapability.Global.ResourceManager 2360 2361**参数:** 2362 2363| 参数名 | 类型 | 必填 | 说明 | 2364| ------- | ------ | ---- | ---- | 2365| resName | string | 是 | 资源名称 | 2366 2367**返回值:** 2368 2369| 类型 | 说明 | 2370| ------ | --------- | 2371| number | 资源名称对应的数值 | 2372 2373以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 2374 2375**错误码:** 2376 2377| 错误码ID | 错误信息 | 2378| -------- | ---------------------------------------- | 2379| 9001003 | If the resName invalid. | 2380| 9001004 | If the resource not found by resName. | 2381| 9001006 | If the resource re-ref too much. | 2382 2383**示例:** 2384 ```ts 2385 try { 2386 this.context.resourceManager.getNumberByName("integer_test"); 2387 } catch (error) { 2388 console.error(`getNumberByName failed, error code: ${error.code}, message: ${error.message}.`) 2389 } 2390 2391 try { 2392 this.context.resourceManager.getNumberByName("float_test"); 2393 } catch (error) { 2394 console.error(`getNumberByName failed, error code: ${error.code}, message: ${error.message}.`) 2395 } 2396 ``` 2397 2398 2399### getString<sup>(deprecated)</sup> 2400 2401getString(resId: number, callback: AsyncCallback<string>): void 2402 2403用户获取指定资源ID对应的字符串,使用callback形式返回字符串。 2404 2405从API version 9开始不再维护,建议使用[getStringValue](#getstringvalue9)代替。 2406 2407**系统能力**:SystemCapability.Global.ResourceManager 2408 2409**参数:** 2410 2411| 参数名 | 类型 | 必填 | 说明 | 2412| -------- | --------------------------- | ---- | --------------- | 2413| resId | number | 是 | 资源ID值 | 2414| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | 2415 2416**示例:** 2417 ```ts 2418 resourceManager.getResourceManager((error, mgr) => { 2419 mgr.getString($r('app.string.test').id, (error, value) => { 2420 if (error != null) { 2421 console.log("error is " + error); 2422 } else { 2423 let str = value; 2424 } 2425 }); 2426 }); 2427 ``` 2428 2429 2430### getString<sup>(deprecated)</sup> 2431 2432getString(resId: number): Promise<string> 2433 2434用户获取指定资源ID对应的字符串,使用Promise形式返回字符串。 2435 2436从API version 9开始不再维护,建议使用[getStringValue](#getstringvalue9-1)代替。 2437 2438**系统能力**:SystemCapability.Global.ResourceManager 2439 2440**参数:** 2441 2442| 参数名 | 类型 | 必填 | 说明 | 2443| ----- | ------ | ---- | ----- | 2444| resId | number | 是 | 资源ID值 | 2445 2446**返回值:** 2447 2448| 类型 | 说明 | 2449| --------------------- | ----------- | 2450| Promise<string> | 资源ID值对应的字符串 | 2451 2452**示例:** 2453 ```ts 2454 resourceManager.getResourceManager((error, mgr) => { 2455 mgr.getString($r('app.string.test').id).then(value => { 2456 let str = value; 2457 }).catch(error => { 2458 console.log("getstring promise error is " + error); 2459 }); 2460 }); 2461 ``` 2462 2463 2464### getStringArray<sup>(deprecated)</sup> 2465 2466getStringArray(resId: number, callback: AsyncCallback<Array<string>>): void 2467 2468用户获取指定资源ID对应的字符串数组,使用callback形式返回字符串数组。 2469 2470从API version 9开始不再维护,建议使用[getStringArrayValue](#getstringarrayvalue9)代替。 2471 2472**系统能力**:SystemCapability.Global.ResourceManager 2473 2474**参数:** 2475 2476| 参数名 | 类型 | 必填 | 说明 | 2477| -------- | ---------------------------------------- | ---- | ----------------- | 2478| resId | number | 是 | 资源ID值 | 2479| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | 2480 2481**示例:** 2482 ```ts 2483 resourceManager.getResourceManager((error, mgr) => { 2484 mgr.getStringArray($r('app.strarray.test').id, (error, value) => { 2485 if (error != null) { 2486 console.log("error is " + error); 2487 } else { 2488 let strArray = value; 2489 } 2490 }); 2491 }); 2492 ``` 2493 2494 2495### getStringArray<sup>(deprecated)</sup> 2496 2497getStringArray(resId: number): Promise<Array<string>> 2498 2499用户获取指定资源ID对应的字符串数组,使用Promise形式返回字符串数组。 2500 2501从API version 9开始不再维护,建议使用[getStringArrayValue](#getstringarrayvalue9-1)代替。 2502 2503**系统能力**:SystemCapability.Global.ResourceManager 2504 2505**参数:** 2506 2507| 参数名 | 类型 | 必填 | 说明 | 2508| ----- | ------ | ---- | ----- | 2509| resId | number | 是 | 资源ID值 | 2510 2511**返回值:** 2512 2513| 类型 | 说明 | 2514| ---------------------------------- | ------------- | 2515| Promise<Array<string>> | 资源ID值对应的字符串数组 | 2516 2517**示例:** 2518 ```ts 2519 resourceManager.getResourceManager((error, mgr) => { 2520 mgr.getStringArray($r('app.strarray.test').id).then(value => { 2521 let strArray = value; 2522 }).catch(error => { 2523 console.log("getStringArray promise error is " + error); 2524 }); 2525 }); 2526 ``` 2527 2528 2529### getMedia<sup>(deprecated)</sup> 2530 2531getMedia(resId: number, callback: AsyncCallback<Uint8Array>): void 2532 2533用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。 2534 2535从API version 9开始不再维护,建议使用[getMediaContent](#getmediacontent9)代替。 2536 2537**系统能力**:SystemCapability.Global.ResourceManager 2538 2539**参数:** 2540 2541| 参数名 | 类型 | 必填 | 说明 | 2542| -------- | ------------------------------- | ---- | ------------------ | 2543| resId | number | 是 | 资源ID值 | 2544| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | 2545 2546**示例:** 2547 ```ts 2548 resourceManager.getResourceManager((error, mgr) => { 2549 mgr.getMedia($r('app.media.test').id, (error, value) => { 2550 if (error != null) { 2551 console.log("error is " + error); 2552 } else { 2553 let media = value; 2554 } 2555 }); 2556 }); 2557 ``` 2558 2559 2560### getMedia<sup>(deprecated)</sup> 2561 2562getMedia(resId: number): Promise<Uint8Array> 2563 2564用户获取指定资源ID对应的媒体文件内容,使用Promise形式返回字节数组。 2565 2566从API version 9开始不再维护,建议使用[getMediaContent](#getmediacontent9-1)代替。 2567 2568**系统能力**:SystemCapability.Global.ResourceManager 2569 2570**参数:** 2571 2572| 参数名 | 类型 | 必填 | 说明 | 2573| ----- | ------ | ---- | ----- | 2574| resId | number | 是 | 资源ID值 | 2575 2576**返回值:** 2577 2578| 类型 | 说明 | 2579| ------------------------- | -------------- | 2580| Promise<Uint8Array> | 资源ID值对应的媒体文件内容 | 2581 2582**示例:** 2583 ```ts 2584 resourceManager.getResourceManager((error, mgr) => { 2585 mgr.getMedia($r('app.media.test').id).then(value => { 2586 let media = value; 2587 }).catch(error => { 2588 console.log("getMedia promise error is " + error); 2589 }); 2590 }); 2591 ``` 2592 2593 2594### getMediaBase64<sup>(deprecated)</sup> 2595 2596getMediaBase64(resId: number, callback: AsyncCallback<string>): void 2597 2598用户获取指定资源ID对应的图片资源Base64编码,使用callback形式返回字符串。 2599 2600从API version 9开始不再维护,建议使用[getMediaContentBase64](#getmediacontentbase649)代替。 2601 2602**系统能力**:SystemCapability.Global.ResourceManager 2603 2604**参数:** 2605 2606| 参数名 | 类型 | 必填 | 说明 | 2607| -------- | --------------------------- | ---- | ------------------------ | 2608| resId | number | 是 | 资源ID值 | 2609| callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | 2610 2611**示例:** 2612 ```ts 2613 resourceManager.getResourceManager((error, mgr) => { 2614 mgr.getMediaBase64($r('app.media.test').id, (error, value) => { 2615 if (error != null) { 2616 console.log("error is " + error); 2617 } else { 2618 let media = value; 2619 } 2620 }); 2621 }); 2622 ``` 2623 2624 2625### getMediaBase64<sup>(deprecated)</sup> 2626 2627getMediaBase64(resId: number): Promise<string> 2628 2629用户获取指定资源ID对应的图片资源Base64编码,使用Promise形式返回字符串。 2630 2631从API version 9开始不再维护,建议使用[getMediaContentBase64](#getmediacontentbase649-1)代替。 2632 2633**系统能力**:SystemCapability.Global.ResourceManager 2634 2635**参数:** 2636 2637| 参数名 | 类型 | 必填 | 说明 | 2638| ----- | ------ | ---- | ----- | 2639| resId | number | 是 | 资源ID值 | 2640 2641**返回值:** 2642 2643| 类型 | 说明 | 2644| --------------------- | -------------------- | 2645| Promise<string> | 资源ID值对应的图片资源Base64编码 | 2646 2647**示例:** 2648 ```ts 2649 resourceManager.getResourceManager((error, mgr) => { 2650 mgr.getMediaBase64($r('app.media.test').id).then(value => { 2651 let media = value; 2652 }).catch(error => { 2653 console.log("getMediaBase64 promise error is " + error); 2654 }); 2655 }); 2656 ``` 2657 2658 2659### getPluralString<sup>(deprecated)</sup> 2660 2661getPluralString(resId: number, num: number): Promise<string> 2662 2663根据指定数量获取对指定ID字符串表示的单复数字符串,使用Promise形式返回字符串。 2664 2665从API version 9开始不再维护,建议使用[getPluralStringValue](#getpluralstringvalue9)代替。 2666 2667**系统能力**:SystemCapability.Global.ResourceManager 2668 2669**参数:** 2670 2671| 参数名 | 类型 | 必填 | 说明 | 2672| ----- | ------ | ---- | ----- | 2673| resId | number | 是 | 资源ID值 | 2674| num | number | 是 | 数量值 | 2675 2676**返回值:** 2677 2678| 类型 | 说明 | 2679| --------------------- | ------------------------- | 2680| Promise<string> | 根据提供的数量获取对应ID字符串表示的单复数字符串 | 2681 2682**示例:** 2683 ```ts 2684 resourceManager.getResourceManager((error, mgr) => { 2685 mgr.getPluralString($r("app.plural.test").id, 1).then(value => { 2686 let str = value; 2687 }).catch(error => { 2688 console.log("getPluralString promise error is " + error); 2689 }); 2690 }); 2691 ``` 2692 2693 2694### getPluralString<sup>(deprecated)</sup> 2695 2696getPluralString(resId: number, num: number, callback: AsyncCallback<string>): void 2697 2698根据指定数量获取指定ID字符串表示的单复数字符串,使用callback形式返回字符串。 2699 2700从API version 9开始不再维护,建议使用[getPluralStringValue](#getpluralstringvalue9-1)代替。 2701 2702**系统能力**:SystemCapability.Global.ResourceManager 2703 2704**参数:** 2705 2706| 参数名 | 类型 | 必填 | 说明 | 2707| -------- | --------------------------- | ---- | ------------------------------- | 2708| resId | number | 是 | 资源ID值 | 2709| num | number | 是 | 数量值 | 2710| callback | AsyncCallback<string> | 是 | 异步回调,返回根据指定数量获取指定ID字符串表示的单复数字符串 | 2711 2712**示例:** 2713 ```ts 2714 resourceManager.getResourceManager((error, mgr) => { 2715 mgr.getPluralString($r("app.plural.test").id, 1, (error, value) => { 2716 if (error != null) { 2717 console.log("error is " + error); 2718 } else { 2719 let str = value; 2720 } 2721 }); 2722 }); 2723 ``` 2724 2725 2726### getRawFile<sup>(deprecated)</sup> 2727 2728getRawFile(path: string, callback: AsyncCallback<Uint8Array>): void 2729 2730用户获取resources/rawfile目录下对应的rawfile文件内容,使用callback形式返回字节数组。 2731 2732从API version 9开始不再维护,建议使用[getRawFileContent](#getrawfilecontent9)代替。 2733 2734**系统能力**:SystemCapability.Global.ResourceManager 2735 2736**参数:** 2737 2738| 参数名 | 类型 | 必填 | 说明 | 2739| -------- | ------------------------------- | ---- | ----------------------- | 2740| path | string | 是 | rawfile文件路径 | 2741| callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的rawfile文件内容 | 2742 2743**示例:** 2744 ```ts 2745 resourceManager.getResourceManager((error, mgr) => { 2746 mgr.getRawFile("test.xml", (error, value) => { 2747 if (error != null) { 2748 console.log("error is " + error); 2749 } else { 2750 let rawFile = value; 2751 } 2752 }); 2753 }); 2754 ``` 2755 2756 2757### getRawFile<sup>(deprecated)</sup> 2758 2759getRawFile(path: string): Promise<Uint8Array> 2760 2761用户获取resources/rawfile目录下对应的rawfile文件内容,使用Promise形式返回字节数组。 2762 2763从API version 9开始不再维护,建议使用[getRawFileContent](#getrawfilecontent9-1)代替。 2764 2765**系统能力**:SystemCapability.Global.ResourceManager 2766 2767**参数:** 2768 2769| 参数名 | 类型 | 必填 | 说明 | 2770| ---- | ------ | ---- | ----------- | 2771| path | string | 是 | rawfile文件路径 | 2772 2773**返回值:** 2774 2775| 类型 | 说明 | 2776| ------------------------- | ----------- | 2777| Promise<Uint8Array> | rawfile文件内容 | 2778 2779**示例:** 2780 ```ts 2781 resourceManager.getResourceManager((error, mgr) => { 2782 mgr.getRawFile("test.xml").then(value => { 2783 let rawFile = value; 2784 }).catch(error => { 2785 console.log("getRawFile promise error is " + error); 2786 }); 2787 }); 2788 ``` 2789 2790 2791### getRawFileDescriptor<sup>(deprecated)</sup> 2792 2793getRawFileDescriptor(path: string, callback: AsyncCallback<RawFileDescriptor>): void 2794 2795用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用callback形式返回。 2796 2797从API version 9开始不再维护,建议使用[getRawFd](#getrawfd9)代替。 2798 2799**系统能力**:SystemCapability.Global.ResourceManager 2800 2801**参数:** 2802 2803| 参数名 | 类型 | 必填 | 说明 | 2804| -------- | ---------------------------------------- | ---- | -------------------------------- | 2805| path | string | 是 | rawfile文件路径 | 2806| callback | AsyncCallback<[RawFileDescriptor](#rawfiledescriptor8)> | 是 | 异步回调,用于返回获取的rawfile文件的descriptor | 2807 2808**示例:** 2809 ```ts 2810 resourceManager.getResourceManager((error, mgr) => { 2811 mgr.getRawFileDescriptor("test.xml", (error, value) => { 2812 if (error != null) { 2813 console.log("error is " + error); 2814 } else { 2815 let fd = value.fd; 2816 let offset = value.offset; 2817 let length = value.length; 2818 } 2819 }); 2820 }); 2821 ``` 2822 2823### getRawFileDescriptor<sup>(deprecated)</sup> 2824 2825getRawFileDescriptor(path: string): Promise<RawFileDescriptor> 2826 2827用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用Promise形式返回。 2828 2829从API version 9开始不再维护,建议使用[getRawFd](#getrawfd9-1)代替。 2830 2831**系统能力**:SystemCapability.Global.ResourceManager 2832 2833**参数:** 2834 2835| 参数名 | 类型 | 必填 | 说明 | 2836| ---- | ------ | ---- | ----------- | 2837| path | string | 是 | rawfile文件路径 | 2838 2839**返回值:** 2840 2841| 类型 | 说明 | 2842| ---------------------------------------- | ------------------- | 2843| Promise<[RawFileDescriptor](#rawfiledescriptor8)> | rawfile文件descriptor | 2844 2845**示例:** 2846 ```ts 2847 resourceManager.getResourceManager((error, mgr) => { 2848 mgr.getRawFileDescriptor("test.xml").then(value => { 2849 let fd = value.fd; 2850 let offset = value.offset; 2851 let length = value.length; 2852 }).catch(error => { 2853 console.log("getRawFileDescriptor promise error is " + error); 2854 }); 2855 }); 2856 ```