# AbilityRuntime ## 概述 æ供元能力基础框架的相关能力。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **起始版本**:13 ## 汇总 ### 文件 | å称 | æè¿° | | -------- | -------- | | [ability_runtime_common.h](ability__runtime__common_8h.md) | 声明元能力å系统的相关错误ç 。<br/>**引用文件**:<AbilityKit/ability_runtime/ability_runtime_common.h><br/>**库**:libability_runtime.so | | [application_context.h](application__context_8h.md) | 声明应用级别的上下文能力。<br/>**引用文件**:<AbilityKit/ability_runtime/application_context.h><br/>**库**:libability_runtime.so | | [context_constant.h](context__constant_8h.md) | 声明上下文相关的枚举。<br/>**引用文件**:<AbilityKit/ability_runtime/context_constant.h><br/>**库**:libability_runtime.so | ### 枚举 | å称 | æè¿° | | ------------------------------------------------------------ | ---------------------- | | [AbilityRuntime_ErrorCode](#abilityruntime_errorcode) {<br> ABILITY_RUNTIME_ERROR_CODE_NO_ERROR = 0,<br> ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID = 401,<br> ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST = 16000011,<br/>} | 定义元能力模å—错误ç 。 | | [AbilityRuntime_AreaMode](#abilityruntime_areamode) {<br/> ABILITY_RUNTIME_AREA_MODE_EL1 = 0,<br/> ABILITY_RUNTIME_AREA_MODE_EL2 = 1,<br/> ABILITY_RUNTIME_AREA_MODE_EL3 = 2,<br/> ABILITY_RUNTIME_AREA_MODE_EL4 = 3,<br/> ABILITY_RUNTIME_AREA_MODE_EL5 = 4<br/>} | 定义数æ®åŠ 密ç‰çº§ã€‚ | ### 函数 | å称 | æè¿° | | -------- | -------- | | [AbilityRuntime_ErrorCode](#abilityruntime_errorcode) [OH_AbilityRuntime_ApplicationContextGetCacheDir](#oh_abilityruntime_applicationcontextgetcachedir)(char* buffer, int32_t bufferSize, int32_t* writeLength) | 获å–应用级别的缓å˜ç›®å½•ã€‚ | | [AbilityRuntime_ErrorCode](#abilityruntime_errorcode) [OH_AbilityRuntime_ApplicationContextGetAreaMode](#oh_abilityruntime_applicationcontextgetareamode)([AbilityRuntime_AreaMode](#abilityruntime_areamode)* areaMode) | 获å–应用级别的数æ®åŠ 密ç‰çº§ã€‚ | | [AbilityRuntime_ErrorCode](#abilityruntime_errorcode) [OH_AbilityRuntime_ApplicationContextGetBundleName](#oh_abilityruntime_applicationcontextgetbundlename)(char* buffer, int32_t bufferSize, int32_t* writeLength) | 获å–应用包å。 | ## 枚举类型说明 ### AbilityRuntime_ErrorCode ``` enum AbilityRuntime_ErrorCode ``` **æè¿°** 定义元能力模å—错误ç 。 **起始版本**:13 | 枚举值 | æè¿° | | --------------------------------------------- | -------------- | | ABILITY_RUNTIME_ERROR_CODE_NO_ERROR | æ“作æˆåŠŸã€‚ | | ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID ARAM | æ— æ•ˆå‚数。 | | ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST | 上下文ä¸å˜åœ¨ã€‚ | ### AbilityRuntime_AreaMode ``` enum AbilityRuntime_AreaMode ``` **æè¿°** 定义数æ®åŠ 密ç‰çº§ã€‚ **起始版本**:13 | 枚举值 | æè¿° | | ----------------------------- | ------------------------------------------------------------ | | ABILITY_RUNTIME_AREA_MODE_EL1 | 对于ç§æœ‰æ–‡ä»¶ï¼Œå¦‚闹铃ã€å£çº¸ç‰ï¼Œåº”用å¯ä»¥å°†è¿™äº›æ–‡ä»¶æ”¾åˆ°è®¾å¤‡çº§åŠ 密分区(EL1)ä¸ï¼Œä»¥ä¿è¯åœ¨ç”¨æˆ·è¾“入密ç å‰å°±å¯ä»¥è¢«è®¿é—®ã€‚ | | ABILITY_RUNTIME_AREA_MODE_EL2 | 对于更æ•æ„Ÿçš„文件,如个人éšç§ä¿¡æ¯ç‰ï¼Œåº”用å¯ä»¥å°†è¿™äº›æ–‡ä»¶æ”¾åˆ°æ›´é«˜çº§åˆ«çš„åŠ å¯†åˆ†åŒºï¼ˆEL2)ä¸ï¼Œä»¥ä¿è¯æ›´é«˜çš„安全性。 | | ABILITY_RUNTIME_AREA_MODE_EL3 | 对于应用ä¸çš„记录æ¥æ•°ã€æ–‡ä»¶ä¸‹è½½ã€éŸ³ä¹æ’放,需è¦åœ¨é”å±æ—¶è¯»å†™å’Œåˆ›å»ºæ–°æ–‡ä»¶ï¼Œæ”¾åœ¨ï¼ˆEL3ï¼‰çš„åŠ å¯†åˆ†åŒºæ¯”è¾ƒåˆé€‚。 | | ABILITY_RUNTIME_AREA_MODE_EL4 | 对于用户安全信æ¯ç›¸å…³çš„文件,é”å±æ—¶ä¸éœ€è¦è¯»å†™æ–‡ä»¶ã€ä¹Ÿä¸èƒ½åˆ›å»ºæ–‡ä»¶ï¼Œæ”¾åœ¨ï¼ˆEL4ï¼‰çš„åŠ å¯†åˆ†åŒºæ›´åˆé€‚。 | | ABILITY_RUNTIME_AREA_MODE_EL5 | 对于用户éšç§æ•æ„Ÿæ•°æ®æ–‡ä»¶ï¼Œé”å±åŽé»˜è®¤ä¸å¯è¯»å†™ï¼Œå¦‚æžœé”å±åŽéœ€è¦è¯»å†™æ–‡ä»¶ï¼Œåˆ™é”å±å‰å¯ä»¥è°ƒç”¨[Access](js-apis-screenLockFileManager.md#screenlockfilemanageracquireaccess)接å£ç”³è¯·ç»§ç»è¯»å†™æ–‡ä»¶ï¼Œæˆ–者é”å±åŽä¹Ÿéœ€è¦åˆ›å»ºæ–°æ–‡ä»¶ä¸”å¯è¯»å†™ï¼Œæ”¾åœ¨ï¼ˆEL5ï¼‰çš„åº”ç”¨çº§åŠ å¯†åˆ†åŒºæ›´åˆé€‚。 | ## 函数说明 ### OH_AbilityRuntime_ApplicationContextGetCacheDir ``` AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetCacheDir(char* buffer, int32_t bufferSize, int32_t* writeLength) ``` **æè¿°** 获å–应用级别的缓å˜ç›®å½•ã€‚ **起始版本**:13 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | buffer | 缓冲区,缓å˜ç›®å½•å—符串写入该区域。 | | bufferSize | 缓冲区大å°ã€‚ | | writeLength | 在返回ABILITY_RUNTIME_ERROR_CODE_NO_ERROR时,表示实际写入到缓冲区的å—符串长度。 | **返回:** ABILITY_RUNTIME_ERROR_CODE_NO_ERROR - 查询æˆåŠŸã€‚ ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID - å…¥å‚buffer或者writeLength为空,或者缓冲区大å°å°äºŽéœ€è¦å†™å…¥çš„大å°ã€‚ ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST - 当å‰çŽ¯å¢ƒçš„上下文ä¸å˜åœ¨ï¼Œå¦‚在应用创建的[å进程](c-apis-ability-childprocess.md)ä¸åº”用级别上下文ä¸å˜åœ¨ã€‚ ### OH_AbilityRuntime_ApplicationContextGetAreaMode ``` AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetAreaMode(AbilityRuntime_AreaMode* areaMode) ``` **æè¿°** 获å–应用级别的数æ®åŠ 密ç‰çº§ã€‚ **起始版本**:13 **å‚æ•°:** | å称 | æè¿° | | -------- | ------------------------ | | areaMode | 用于接å—åŠ å¯†ç‰çº§çš„指针。 | **返回:** ABILITY_RUNTIME_ERROR_CODE_NO_ERROR - 查询æˆåŠŸã€‚ ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID - å…¥å‚areaMode为空。 ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST - 当å‰çŽ¯å¢ƒçš„上下文ä¸å˜åœ¨ï¼Œå¦‚在应用创建的[å进程](c-apis-ability-childprocess.md)ä¸åº”用级别上下文ä¸å˜åœ¨ã€‚ ### OH_AbilityRuntime_ApplicationContextGetBundleName ``` AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetBundleName(char* buffer, int32_t bufferSize, int32_t* writeLength) ``` **æè¿°** 获å–应用包å。 **起始版本**:13 **å‚æ•°:** | å称 | æè¿° | | ----------- | ------------------------------------------------------------ | | buffer | 缓冲区,应用包åå—符串写入该区域。 | | bufferSize | 缓冲区大å°ã€‚ | | writeLength | 在返回ABILITY_RUNTIME_ERROR_CODE_NO_ERROR时,表示实际写入到缓冲区的å—符串长度。 | **返回:** ABILITY_RUNTIME_ERROR_CODE_NO_ERROR - 查询æˆåŠŸã€‚ ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID - å…¥å‚buffer或者writeLength为空,或者缓冲区大å°å°äºŽéœ€è¦å†™å…¥çš„大å°ã€‚ ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST - 当å‰çŽ¯å¢ƒçš„上下文ä¸å˜åœ¨ï¼Œå¦‚在应用创建的[å进程](c-apis-ability-childprocess.md)ä¸åº”用级别上下文ä¸å˜åœ¨ã€‚