1# context_constant.h 2 3## 概述 4 5提供AbilityRuntime模块上下文常量的定义。 6 7**引用文件:** <AbilityKit/ability_runtime/context_constant.h> 8 9**库:** libability_runtime.so 10 11**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 12 13**起始版本:** 13 14 15**相关模块:** [AbilityRuntime](capi-abilityruntime.md) 16 17## 汇总 18 19### 枚举 20 21| 名称 | typedef关键字 | 描述 | 22| -- | -- | -- | 23| [AbilityRuntime_AreaMode](#abilityruntime_areamode) | AbilityRuntime_AreaMode | 文件数据加密等级。 | 24| [AbilityRuntime_StartVisibility](#abilityruntime_startvisibility) | AbilityRuntime_StartVisibility | 启动Ability时的窗口和dock栏图标的显示模式。 | 25| [AbilityRuntime_WindowMode](#abilityruntime_windowmode) | AbilityRuntime_WindowMode | 窗口模式。 | 26| [AbilityRuntime_SupportedWindowMode](#abilityruntime_supportedwindowmode) | AbilityRuntime_SupportedWindowMode | 组件所支持的窗口模式。在应用内启动UIAbility时,指定窗口是否显示最大化/窗口化/分屏按键。 | 27 28## 枚举类型说明 29 30### AbilityRuntime_AreaMode 31 32``` 33enum AbilityRuntime_AreaMode 34``` 35 36**描述** 37 38文件数据加密等级。 39 40**起始版本:** 13 41 42| 枚举项 | 描述 | 43| -- | -- | 44| ABILITY_RUNTIME_AREA_MODE_EL1 = 0 | 设备级加密区,设备开机后可访问的数据区。<br>对于私有文件,如闹铃、壁纸等,应用可以将这些文件放到设备级加密分区(EL1)中,以保证在用户输入密码前就可以被访问。 | 45| ABILITY_RUNTIME_AREA_MODE_EL2 = 1 | 用户级加密区,设备开机,首次输入密码后才能够访问的数据区。<br>对于私有文件,如闹铃、壁纸等,应用可以将这些文件放到设备级加密分区(EL1)中,以保证在用户输入密码前就可以被访问。 | 46| ABILITY_RUNTIME_AREA_MODE_EL3 = 2 | 用户级加密区,不同场景的文件权限如下:<br>已打开文件:锁屏时,可读写;解锁后,可读写。<br>未打开文件:锁屏时,不可打开、不可读写;解锁后,可打开、可读写。<br>创建新文件:锁屏时,可创建、可打开、可写不可读;解锁后,可创建、可打开、可读写。<br>对于应用中的记录步数、文件下载、音乐播放,需要在锁屏时读写和创建新文件,放在(EL3)的加密分区比较合适。 | 47| ABILITY_RUNTIME_AREA_MODE_EL4 = 3 | 用户级加密区,不同场景的文件权限如下:<br>已打开文件:锁屏时,FEB2.0可读写、FEB3.0不可读写;解锁后,可读写。<br>未打开文件:锁屏时,不可打开、不可读写;解锁后,可打开、可读写。<br>创建新文件:锁屏时,不可创建;解锁后,可创建、可打开、可读写。<br>对于用户安全信息相关的文件,锁屏时不需要读写文件、也不能创建文件,放在(EL4)的加密分区更合适。 | 48| ABILITY_RUNTIME_AREA_MODE_EL5 = 4 | 应用级加密区,不同场景的文件权限如下:<br>已打开文件:锁屏时,可读写;解锁后,可读写。<br>未打开文件:锁屏时,获取DataAccessLock(JS API)下可打开、可读写,否则不可打开、不可读写;解锁后,可打开、可读写。<br>创建新文件:锁屏时,可创建、可打开、可读写;解锁后,可创建、可打开、可读写。<br>对于用户隐私敏感数据文件,锁屏后默认不可读写,如果锁屏后需要读写文件,则锁屏前可以调用[Access](js-apis-screenLockFileManager.md#screenlockfilemanageracquireaccess)接口申请继续读写文件,或者锁屏后也需要创建新文件且可读写,放在(EL5)的应用级加密分区更合适。 | 49 50### AbilityRuntime_StartVisibility 51 52``` 53enum AbilityRuntime_StartVisibility 54``` 55 56**描述** 57 58启动Ability时的窗口和dock栏图标的显示模式。 59 60**起始版本:** 17 61 62| 枚举项 | 描述 | 63| -- | -- | 64| ABILITY_RUNTIME_HIDE_UPON_START = 0 | 隐藏窗口及dock栏图标。仅在2in1设备上生效。 | 65| ABILITY_RUNTIME_SHOW_UPON_START = 1 | 显示窗口及dock栏图标。仅在2in1设备上生效。 | 66 67### AbilityRuntime_WindowMode 68 69``` 70enum AbilityRuntime_WindowMode 71``` 72 73**描述** 74 75窗口模式。 76 77**起始版本:** 17 78 79| 枚举项 | 描述 | 80| -- | -- | 81| ABILITY_RUNTIME_WINDOW_MODE_UNDEFINED = 0 | 窗口模式未定义。 | 82| ABILITY_RUNTIME_WINDOW_MODE_FULL_SCREEN = 1 | 全屏模式。仅在2in1设备上生效。 | 83 84### AbilityRuntime_SupportedWindowMode 85 86``` 87enum AbilityRuntime_SupportedWindowMode 88``` 89 90**描述** 91 92在应用内启动UIAbility时,指定窗口是否显示最大化/窗口化/分屏按键。如果未配置该字段,则默认采用该UIAbility对应的[module.json5配置文件](../../quick-start/module-configuration-file.md)中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)的supportWindowMode字段取值。 93 94**起始版本:** 17 95 96| 枚举项 | 描述 | 97| -- | -- | 98| ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_FULL_SCREEN = 0 | 窗口支持全屏显示。 | 99| ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_SPLIT = 1 | 窗口支持分屏显示。通常需要配合ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_FULL_SCREEN或ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_FLOATING一起使用,不建议只配置ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_SPLIT。当仅配置ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_SPLIT时,2in1设备上的窗口默认为悬浮窗模式,支持进入分屏模式。 | 100| ABILITY_RUNTIME_SUPPORTED_WINDOW_MODE_FLOATING = 2 | 支持窗口化显示。 | 101