1# @ohos.settings (设置数据项名称) 2 3本模块提供访问设置数据项的能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## 导入模块 10 11```js 12import settings from '@ohos.settings'; 13``` 14 15## date 16 17提供设置时间和日期格式的数据项。 18 19### 属性 20 21**系统能力:** SystemCapability.Applications.settings.Core 22 23| 名称 | 类型 | 可读 | 可写 | 说明 | 24| ------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 25| DATE_FORMAT | string | 是 | 是 | 日期格式。<br/>日期格式包括mm/dd/yyyy、dd/mm/yyyy和yyyy/mm/dd ,其中mm、dd和yyyy分别代表月份、日期和年份。 | 26| TIME_FORMAT | string | 是 | 是 | 时间是以12小时格式还是24小时格式显示。<br>值为 “12” 表示12小时格式;<br/>值为 ”24“ 表示24小时格式。 | 27| AUTO_GAIN_TIME | string | 是 | 是 | 是否自动从网络获取日期、时间和时区。 <br>值为true表示自动从网络获取信息;<br/>值为false表示不自动获取。 | 28| AUTO_GAIN_TIME_ZONE | string | 是 | 是 | 是否自动从NITZ获取时区。 <br>值为true表示自动获取;<br/>值为false表示不自动获取。 | 29 30## display 31 32提供设置显示效果的数据项。 33 34### 属性 35 36**系统能力:** SystemCapability.Applications.settings.Core 37 38| 名称 | 类型 | 可读 | 可写 | 说明 | 39| ----------------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 40| FONT_SCALE | string | 是 | 是 | 字体的比例因子,值为浮点数。 | 41| SCREEN_BRIGHTNESS_STATUS | string | 是 | 是 | 屏幕亮度。该值的范围从0到255。 | 42| AUTO_SCREEN_BRIGHTNESS | string | 是 | 是 | 是否启用屏幕亮度自动调整。<br/>值为AUTO_SCREEN_BRIGHTNESS_MODE,表示启用自动调整;<br/>值为MANUAL_SCREEN_BRIGHTNESS_MODE,表示不启用自动调整。 | 43| AUTO_SCREEN_BRIGHTNESS_MODE | number | 是 | 是 | 使用屏幕亮度自动调整时AUTO_SCREEN_BRIGHTNESS的值。 | 44| MANUAL_SCREEN_BRIGHTNESS_MODE | number | 是 | 是 | 使用屏幕亮度手动调整时的AUTO_SCREEN_BRIGHTNESS值。 | 45| SCREEN_OFF_TIMEOUT | string | 是 | 是 | 设备在一段时间不活动后进入睡眠状态的等待时间(单位:ms)。 | 46| DEFAULT_SCREEN_ROTATION | string | 是 | 是 | 启用屏幕的自动旋转时,此属性无效;不启用自动旋转时,以下值可用:<br>值为0,表示屏幕旋转0度;<br>值为1,表示屏幕旋转90度;<br/>值为2,表示屏幕旋转180度;<br/>值为3,表示屏幕旋转270度。 | 47| ANIMATOR_DURATION_SCALE | string | 是 | 是 | 动画持续时间的比例因子。这会影响所有此类动画的开始延迟和持续时间。<br/>值为0,表示动画将立即结束,默认值为1。 | 48| TRANSITION_ANIMATION_SCALE | string | 是 | 是 | 过渡动画的比例因子。<br/>值为0,表示禁用过渡动画。 | 49| WINDOW_ANIMATION_SCALE | string | 是 | 是 | 普通窗口动画的比例因子。<br/>值为0,表示禁用窗口动画。 | 50| DISPLAY_INVERSION_STATUS | string | 是 | 是 | 是否启用显示颜色反转。<br/>值为1,表示启用显示颜色反转;<br/>值为0,表示不启用显示颜色反转。 | 51 52## general 53 54提供设置设备常规信息的数据项。 55 56### 属性 57 58**系统能力:** SystemCapability.Applications.settings.Core 59 60| 名称 | 类型 | 可读 | 可写 | 说明 | 61| -------------------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 62| SETUP_WIZARD_FINISHED | string | 是 | 是 | 是否已运行启动向导。<br>值为0,表示启动向导尚未运行;<br/>值不是0,表示启动向导已运行。 | 63| END_BUTTON_ACTION | string | 是 | 是 | 在用户不在呼叫中时,用户按下呼叫结束按钮会发生的情况。<br/>值为0,表示没有任何反应;<br/>值为1,表示显示主屏幕;<br/>值为2,表示设备进入睡眠状态,屏幕锁定;<br/>值为3,表示显示主屏幕。如果用户已在主屏幕上,设备将进入睡眠状态。 | 64| ACCELEROMETER_ROTATION_STATUS | string | 是 | 是 | 是否使用加速计更改屏幕方向,即是否启用自动旋转。<br>值为1,表示启用加速度计;<br/>值为0,表示不启用加速计。 | 65| AIRPLANE_MODE_STATUS | string | 是 | 是 | 是否启用飞行模式。<br>值为1,表示启用飞行模式;<br/>值为0,表示不启用飞行模式。 | 66| DEVICE_PROVISION_STATUS | string | 是 | 是 | 是否预配设备。<br>在具有单个系统用户的多用户设备上,当值为true时,屏幕可能会被锁定。此外,其他功能无法在系统用户上启动,除非它们被标记为在屏幕锁定上显示。 | 67| HDC_STATUS | string | 是 | 是 | 是否启用USB设备上的硬盘控制器(HDC)。<br>值为true,表示启用HDC;<br/>值为false,表示不启用HDC。 | 68| BOOT_COUNTING | string | 是 | 是 | 设备开机后的启动操作数。 | 69| CONTACT_METADATA_SYNC_STATUS | string | 是 | 是 | 是否启用联系人元数据同步。<br>值为true,表示启用同步;<br/>值为false,表示不启用同步。 | 70| DEVELOPMENT_SETTINGS_STATUS | string | 是 | 是 | 是否启用开发人员选项。<br>值为true,表示启用开发人员选项;<br/>值为false,表示不启用开发人员选项。 | 71| DEVICE_NAME | string | 是 | 是 | 设备名称。 | 72| USB_STORAGE_STATUS | string | 是 | 是 | 是否启用USB大容量存储。<br>值为true,表示启用USB大容量存储;<br/>值为false,表示不启用USB大容量存储。 | 73| DEBUGGER_WAITING | string | 是 | 是 | 设备在启动应用程序进行调试时是否等待调试器进行调试。<br>值为1,表示设备等待调试器;<br/>值为0,表示系统不会等待调试器,因此应用程序会正常运行。 | 74| DEBUG_APP_PACKAGE | string | 是 | 是 | 要调试的应用程序的bundle name。 | 75| ACCESSIBILITY_STATUS | string | 是 | 是 | 是否启用辅助功能。<br>值为1,表示启用辅助功能;<br/>值为0,表示不启用辅助功能。 | 76| ACTIVATED_ACCESSIBILITY_SERVICES | string | 是 | 是 | 已激活的辅助功能的列表。 | 77| GEOLOCATION_ORIGINS_ALLOWED | string | 是 | 是 | 浏览器可以使用的默认地理位置。多个地理位置由空格分隔。 | 78| SKIP_USE_HINTS | string | 是 | 是 | 应用程序是否应在首次启动时尝试跳过所有介绍性提示。这适用于临时用户或熟悉环境的用户。<br>值为1,表示应用程序将尝试在第一次启动时跳过所有介绍性提示;<br/>值为0,表示应用程序不会在首次启动时跳过介绍性提示。 | 79| TOUCH_EXPLORATION_STATUS | string | 是 | 是 | 是否启用触摸浏览。<br>值为1,表示启用触摸浏览;<br/>值为0,表示不启用触摸浏览。 | 80 81## input 82 83提供设置有关输入法信息的数据项。 84 85### 属性 86 87**系统能力:** SystemCapability.Applications.settings.Core 88 89| 名称 | 类型 | 可读 | 可写 | 说明 | 90| ------------------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ | 91| DEFAULT_INPUT_METHOD | string | 是 | 是 | 默认输入法及其ID。 | 92| ACTIVATED_INPUT_METHOD_SUB_MODE | string | 是 | 是 | 默认输入法键盘类型及其ID。 | 93| ACTIVATED_INPUT_METHODS | string | 是 | 是 | 已激活的输入法的列表。<br>该列表是一个字符串,由已激活的输入法的ID和输入法键盘类型组成。输入法ID后添加冒号':'连接,输入法的键盘类型后添加分号';'连接。用ima代表输入法ID,keyboardType代表键盘类型,示例格式是ima0:keyboardType0;keyboardType1;ima1:ima2:keyboardTypes0。 | 94| SELECTOR_VISIBILITY_FOR_INPUT_METHOD | string | 是 | 是 | 输入法选择器是否可见。<br>值为1,表示输入法选择器可见;<br/>值为0,表示输入法选择器不可见。 | 95| AUTO_CAPS_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动大写。<br>值为0,表示不启用自动大写;<br/>值为1,表示启用自动大写。 | 96| AUTO_PUNCTUATE_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动标点符号。自动标点符号使文本编辑器能够将两个空格转换为句点'.'和空格。<br>值为0,表示不启用自动标点符号;<br/>值为1,表示启用自动标点符号。 | 97| AUTO_REPLACE_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动更正。自动更正使文本编辑器能够更正拼写错误。<br>值为0,表示不启用自动更正;<br/>值为1,表示启用自动更正。 | 98| SHOW_PASSWORD_TEXT_INPUT | string | 是 | 是 | 是否在文本编辑器中启用密码显示。密码显示使文本编辑器能够在用户键入密码字符时显示密码字符。<br>值为0,表示不启用密码显示;<br/>值为1,表示启用密码显示。 | 99 100## network 101 102提供设置网络信息的数据项。 103 104### 属性 105 106**系统能力:** SystemCapability.Applications.settings.Core 107 108| 名称 | 类型 | 可读 | 可写 | 说明 | 109| ------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ | 110| DATA_ROAMING_STATUS | string | 是 | 是 | 是否启用数据漫游。<br>值为true,表示启用数据漫游;<br/>值为false,表示不启用数据漫游。 | 111| HTTP_PROXY_CFG | string | 是 | 是 | 全局 HTTP 代理的主机名和端口号。主机名和端口号由冒号':'分隔。 | 112| NETWORK_PREFERENCE_USAGE | string | 是 | 是 | 要使用的网络的用户首选项。 | 113 114## phone 115 116提供设置来电和去电接听方式的数据项。 117 118### 属性 119 120**系统能力:** SystemCapability.Applications.settings.Core 121 122| 名称 | 类型 | 可读 | 可写 | 说明 | 123| ------------------ | ------ | ---- | ---- | ------------------------------------------------------------ | 124| RTT_CALLING_STATUS | string | 是 | 是 | 是否启用实时文本 (RTT) 呼叫。启用,来电和去电在设备和运营商支持时作为 RTT 呼叫应答。 <br> 值为1,表示启用RTT 呼叫; <br/> 值为0,表示不启用 RTT 呼叫。 | 125 126## sound 127 128提供设置声音效果的数据项。 129 130### 属性 131 132**系统能力:** SystemCapability.Applications.settings.Core 133 134| 名称 | 类型 | 可读 | 可写 | 说明 | 135| ---------------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 136| VIBRATE_WHILE_RINGING | string | 是 | 是 | 设备在来电响铃时是否振动。此属性将由电话和设置应用程序使用。 该值是布尔类型,仅影响设备因来电而响铃的情况,不影响任何其他应用程序或场景。 | 137| DEFAULT_ALARM_ALERT | string | 是 | 是 | 系统默认告警的存储区域。 | 138| DTMF_TONE_TYPE_WHILE_DIALING | string | 是 | 是 | 拨号时播放的双音多频 (DTMF) 音的类型。 <br>值为0表示常规的短音效,<br/>值为1表示长音效。 | 139| DTMF_TONE_WHILE_DIALING | string | 是 | 是 | 拨号时是否播放 DTMF 音。<br>值为1,表示播放 DTMF 音;<br/>值为0,表示不播放。 | 140| AFFECTED_MODE_RINGER_STREAMS | string | 是 | 是 | 哪些音频流受振铃模式和请勿打扰 (DND) 模式更改的影响。希望特定的音频流受到振铃模式和 DDN 模式变化的影响,请将对应比特位设置为1。 | 141| AFFECTED_MUTE_STREAMS | string | 是 | 是 | 受静音模式影响的音频流。希望特定音频流在静音模式下保持静音,请将相应位设置为1。 | 142| DEFAULT_NOTIFICATION_SOUND | string | 是 | 是 | 系统默认通知音的存储区域。 | 143| DEFAULT_RINGTONE | string | 是 | 是 | 系统默认铃声的存储区域。 | 144| SOUND_EFFECTS_STATUS | string | 是 | 是 | 声音功能是否可用。<br>值为0表示不可用; <br/>值为1表示可用 | 145| VIBRATE_STATUS | string | 是 | 是 | 设备是否为事件振动。该参数在系统内部使用。 <br>值为1,表示设备会因事件而振动; <br/>值为0,表示设备不因事件振动。 | 146| HAPTIC_FEEDBACK_STATUS | string | 是 | 是 | 设备是否启用触觉反馈。<br/>值为true,表示启用触觉反馈;<br/>值为false,表示不启用触觉反馈。 | 147 148## TTS 149 150提供设置文本到语音 (TTS) 转换信息的数据项。 151 152### 属性 153 154**系统能力:** SystemCapability.Applications.settings.Core 155 156| 名称 | 类型 | 可读 | 可写 | 说明 | 157| ------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 158| DEFAULT_TTS_PITCH | string | 是 | 是 | 文本转语音 (TTS) 引擎的默认音高。<br>其中100=1x,该值设置为200,表示频率是正常声音频率的两倍。 | 159| DEFAULT_TTS_RATE | string | 是 | 是 | TTS 引擎的默认语速。<br>其中100=1x。 | 160| DEFAULT_TTS_SYNTH | string | 是 | 是 | 默认TTS引擎。 | 161| ENABLED_TTS_PLUGINS | string | 是 | 是 | 用于TTS的已激活插件包列表, 多个插件包以空格分隔。 | 162 163 164## wireless 165 166提供设置无线网络信息的数据项。 167 168### 属性 169 170**系统能力:** SystemCapability.Applications.settings.Core 171 172| 名称 | 类型 | 可读 | 可写 | 说明 | 173| --------------------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 174| BLUETOOTH_DISCOVER_ABILITY_STATUS | string | 是 | 是 | 设备是否可以被其他设备通过蓝牙发现或连接。<br>值为0表示设备不可以被连接或发现;<br/>值为1表示设备可以被连接但不可以被发现;<br/>值为2表示设备可以被连接和发现。 | 175| BLUETOOTH_DISCOVER_TIMEOUT | string | 是 | 是 | 可以通过蓝牙发现设备的持续时间(以秒为单位)。<br>这段时间之后,设备不可以被蓝牙搜寻到。 | 176| AIRPLANE_MODE_RADIOS | string | 是 | 是 | 启用飞行模式时要禁用的无线电信号列表。 <br>多个无线电信号用逗号 (,) 分隔。取值包括以下常量:BLUETOOTH_RADIO、 CELL_RADIO、 NFC_RADIO、 WIFI_RADIO。 | 177| BLUETOOTH_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示蓝牙在飞行模式下禁用。 | 178| CELL_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示蜂窝无线电在飞行模式下禁用。 | 179| NFC_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示NFC在飞行模式下禁用。 | 180| WIFI_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示Wi-Fi在飞行模式下禁用。 | 181| BLUETOOTH_STATUS | string | 是 | 是 | 蓝牙是否可用。 <br>值为true表示蓝牙可用;<br/>值为false表示蓝牙不可用。 | 182| OWNER_LOCKDOWN_WIFI_CFG | string | 是 | 是 | 是否应锁定由设备所有者的应用程序创建的Wi-Fi配置。<br>值为true表示Wi-Fi配置应该被锁定;<br/>值为false表示不应该被锁定。 | 183| WIFI_DHCP_MAX_RETRY_COUNT | string | 是 | 是 | 尝试从DHCP服务器获取 IP 地址的最大次数。 | 184| WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT | string | 是 | 是 | Wi-Fi连接断开后等待移动数据连接建立时保持唤醒锁的最长时间。 | 185| WIFI_STATUS | string | 是 | 是 | Wi-Fi是否可用。<br>值为true表示Wi-Fi可用;<br/>值为false表示Wi-Fi不可用。 | 186| WIFI_WATCHDOG_STATUS | string | 是 | 是 | Wi-Fi的WatchDog是否可用。 <br>值为true表示可用;<br/>值为false表示不可用。 | 187 188 189## settings.setValue<sup>10+</sup> 190 191setValue(context: Context, name: string, value: string, callback: AsyncCallback\<boolean>): void 192 193将数据项名称及数据项的值保存到数据库中,使用callback异步回调。 194 195**模型约束**:此接口仅可在Stage模型下使用。 196 197**系统能力**:SystemCapability.Applications.settings.Core 198 199**需要权限**: ohos.permission.MANAGE_SECURE_SETTINGS 200 201**参数**: 202 203| 参数名 | 类型 | 必填 | 说明 | 204| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 205| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 206| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 207| value | string | 是 | 数据项值。取值范围随业务变动。 | 208| callback | AsyncCallback\<boolean> | 是 | 回调函数。返回true表示操作成功,否则操作失败。 | 209 210**示例**: 211 212```js 213import settings from '@ohos.settings'; 214 215//更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值) 216settings.setValue(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100', (status) => { 217 console.log('Callback return whether value is set.'); 218}); 219``` 220 221## settings.setValue<sup>10+</sup> 222 223setValue(context: Context, name: string, value: string): Promise\<boolean> 224 225将数据项名称及数据项的值保存到数据库中。使用Promise异步回调。 226 227**模型约束**:此接口仅可在Stage模型下使用。 228 229**系统能力**:SystemCapability.Applications.settings.Core 230 231**需要权限**: ohos.permission.MANAGE_SECURE_SETTINGS 232 233**参数**: 234 235| 参数名 | 类型 | 必填 | 说明 | 236| ------- | ------- | ---- | ------------------------------------------------------------ | 237| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 238| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 239| value | string | 是 | 数据项值。取值范围随业务变动。 | 240 241**返回值**: 242 243| 类型 | 说明 | 244| ----------------- | -------------------------------------------------- | 245| Promise\<boolean> | Promise对象。返回true表示操作成功,否则返回false。 | 246 247**示例**: 248 249```js 250import settings from '@ohos.settings'; 251 252//更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值) 253settings.setValue(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100').then((status) => { 254 console.log('Callback return whether value is set.'); 255}); 256``` 257 258## setting.getValue<sup>10+</sup> 259 260getValue(context: Context, name: string, callback: AsyncCallback\<string>): void 261 262获取数据库中指定数据项的值。使用callback异步回调。 263 264**模型约束**:此接口仅可在Stage模型下使用。 265 266**系统能力**:SystemCapability.Applications.settings.Core 267 268**参数**: 269 270| 参数名 | 类型 | 必填 | 说明 | 271| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 272| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 273| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br> - 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 274| callback | AsyncCallback\<string> | 是 | 使用callback方式获取数据项的值。 | 275 276**示例**: 277 278```js 279import settings from '@ohos.settings'; 280 281settings.getValue(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS, (err, value) => { 282 if (err) { 283 console.error(`Failed to get the setting. ${err.message} `); 284 return; 285 } 286 console.log(`callback:value -> ${JSON.stringify(value)}`) 287}); 288``` 289 290## setting.getValue<sup>10+</sup> 291 292getValue(context: Context, name: string): Promise\<string> 293 294获取数据库中指定数据项的值。使用Promise异步回调。 295 296**模型约束**:此接口仅可在Stage模型下使用。 297 298**系统能力**:SystemCapability.Applications.settings.Core 299 300**参数**: 301 302| 参数名 | 类型 | 必填 | 说明 | 303| ------- | ------- | ---- | ------------------------------------------------------------ | 304| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 305| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br> - 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 306 307**返回值**: 308 309| 类型 | 说明 | 310| ---------------- | ----------------------------------- | 311| Promise\<string> | Promise对象。返回获得的数据项的值。 | 312 313**示例**: 314 315```js 316import settings from '@ohos.settings'; 317 318settings.getValue(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS).then((value) => { 319 console.log(`promise:value -> ${JSON.stringify(value)}`) 320}); 321``` 322 323## settings.getValueSync<sup>10+</sup> 324 325getValueSync(context: Context, name: string, defValue: string): string; 326 327获取数据项的值。此方法相较getValue为同步方法。 328 329**模型约束**:此接口仅可在Stage模型下使用。 330 331**系统能力**:SystemCapability.Applications.settings.Core 332 333**参数**: 334 335| 参数名 | 类型 | 必填 | 说明 | 336| -------- | ------- | ---- | ------------------------------------------------------------ | 337| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 338| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 339| defValue | string | 是 | 默认值。由开发者设置,当未从数据库中查询到该数据时,表示返回该默认值。 | 340 341**返回值**: 342 343| 类型 | 说明 | 344| ------ | ---------------- | 345| string | 返回数据项的值。 | 346 347**示例**: 348 349```js 350import settings from '@ohos.settings'; 351 352//获取数据项亮度的值(该数据项在数据库中已存在) 353let value = settings.getValueSync(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS, '10'); 354``` 355 356## settings.setValueSync<sup>10+</sup> 357 358setValueSync(context: Context, name: string, value: string): boolean 359 360设置数据项的值。此方法相较setValue为同步方法。 361 362如果数据库中已经存在该数据项,则setValueSync方法将更新该数据项的值;如果数据库中尚未存在该数据项,则setValueSync方法将向数据库中插入该数据项。 363 364**模型约束**:此接口仅可在Stage模型下使用。 365 366**系统能力**:SystemCapability.Applications.settings.Core 367 368**需要权限**: ohos.permission.MANAGE_SECURE_SETTINGS 369 370**参数**: 371 372| 参数名 | 类型 | 必填 | 说明 | 373| ------- | ------- | ---- | ------------------------------------------------------------ | 374| context | Context | 是 | 应用上下文。<br />Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | 375| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 376| value | string | 是 | 数据项的具体数值。取值范围随业务变动。 | 377 378**返回值**: 379 380| 类型 | 说明 | 381| ------- | ------------------------------------------------------------ | 382| boolean | 返回设置数据项的值是否成功的结果。true表示设置成功,false表示设置失败。 | 383 384**示例**: 385 386```js 387import settings from '@ohos.settings'; 388 389//更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值) 390let ret = settings.setValueSync(this.context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100'); 391``` 392 393## settings.enableAirplaneMode 394 395enableAirplaneMode(enable: boolean, callback: AsyncCallback\<void>): void 396 397启用或禁用飞行模式。使用callback异步回调。 398 399此接口暂不支持。 400 401**系统能力**:SystemCapability.Applications.settings.Core 402 403**参数**: 404 405| 参数名 | 类型 | 必填 | 说明 | 406| -------- | -------------------- | ---- | ----------------------------------------------- | 407| enable | boolean | 是 | 是否开启飞行模式。true表示开启,false表示禁用。 | 408| callback | AsyncCallback\<void> | 是 | 回调函数。 | 409 410**示例**: 411 412```js 413let isEnabled :boolean = true; 414settings.enableAirplaneMode(isEnabled, (err:Error) => { 415 if (err) { 416 console.log('Failed to enable AirplaneMode.'); 417 return; 418 } 419 console.log('Return true if enable.'); 420}) 421``` 422 423## settings.enableAirplaneMode 424 425enableAirplaneMode(enable: boolean): Promise\<void> 426 427启用或禁用飞行模式。使用Promise异步回调。 428 429此接口暂不支持。 430 431**系统能力**:SystemCapability.Applications.settings.Core 432 433**参数**: 434 435| 参数名 | 类型 | 必填 | 说明 | 436| ------ | ------- | ---- | ----------------------------------------------- | 437| enable | boolean | 是 | 是否开启飞行模式。true表示开启,false表示禁用。 | 438 439**返回值**: 440 441| 类型 | 说明 | 442| -------------- | ------------------------- | 443| Promise\<void> | 无返回结果的Promise对象。 | 444 445**示例**: 446 447```js 448let isEnabled :boolean = true; 449settings.enableAirplaneMode(isEnabled).then(() => { 450 console.log('Succeeded in enabling AirplaneMode.'); 451}).catch((err:Error) => { 452 console.log(`Failed to enable AirplaneMode. Cause: ${err}`); 453}) 454``` 455 456## settings.canShowFloating 457 458canShowFloating(callback: AsyncCallback\<boolean>): void 459 460检查应用是否能够以悬浮窗形式显示。使用callback异步回调。 461 462**系统能力**:SystemCapability.Applications.settings.Core 463 464**参数**: 465 466| 参数名 | 类型 | 必填 | 说明 | 467| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 468| callback | AsyncCallback\<boolean> | 是 | 回调函数。<br/>返回true,表示应用能够以悬浮窗形式显示;返回false,则表示不能。 | 469 470**示例**: 471 472```js 473settings.canShowFloating((status:boolean) => { 474 console.log('Checks whether a specified application can show as float window.'); 475}); 476``` 477 478## settings.canShowFloating 479 480canShowFloating(): Promise\<boolean> 481 482检查应用是否能够以悬浮窗形式显示。使用Promise异步回调。 483 484**系统能力**:SystemCapability.Applications.settings.Core 485 486**返回值**: 487 488| 类型 | 说明 | 489| ----------------- | ------------------------------------------------------------ | 490| Promise\<boolean> | Promise对象。<br/>返回true,表示应用能够以悬浮窗形式显示;返回false,则表示不能。 | 491 492**示例**: 493 494```js 495settings.canShowFloating().then((status:boolean) => { 496 console.log('Checks whether a specified application can show as float window.'); 497}); 498``` 499 500## settings.getUriSync<sup>8+</sup> 501 502getUriSync(name: string): string 503 504获取数据项的URI。 505 506**系统能力**:SystemCapability.Applications.settings.Core 507 508**参数**: 509 510| 参数名 | 类型 | 必填 | 说明 | 511| ------ | ------ | ---- | ------------------------------------------------------------ | 512| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 513 514**返回值**: 515 516| 类型 | 说明 | 517| ------ | ------------- | 518| string | 数据项的URI。 | 519 520**示例**: 521 522```js 523// 获取数据项的URI 524let uriVar:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 525``` 526 527## setting.getURI<sup>(deprecated)</sup> 528 529getURI(name: string, callback: AsyncCallback\<object>): void 530 531获取数据项的URI。使用callback异步回调。 532 533> **说明:** 534> 535> 从 API version 7开始支持,从API version 9开始废弃,此接口不再提供代替接口。 536 537**系统能力**:SystemCapability.Applications.settings.Core 538 539**参数**: 540 541| 参数名 | 类型 | 必填 | 说明 | 542| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 543| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 544| callback | AsyncCallback\<object> | 是 | 回调函数。获取数据项的URI。 | 545 546**示例**: 547 548```js 549settings.getURI(settings.display.SCREEN_BRIGHTNESS_STATUS, (uri:string) => { 550 console.log(`callback:uri -> ${JSON.stringify(uri)}`) 551}) 552``` 553 554## setting.getURI<sup>(deprecated)</sup> 555 556getURI(name: string): Promise\<object> 557 558获取数据项的URI。使用Promise异步回调。 559 560> **说明:** 561> 562> 从 API version 7开始支持,从API version 9开始废弃,此接口不再提供代替接口。 563 564**系统能力**:SystemCapability.Applications.settings.Core 565 566**参数**: 567 568| 参数名 | 类型 | 必填 | 说明 | 569| ------ | ------ | ---- | ------------------------------------------------------------ | 570| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 571 572**返回值**: 573 574| 类型 | 说明 | 575| ---------------- | ------------------------------------ | 576| Promise\<object> | Promise对象。返回获取的数据项的URI。 | 577 578**示例**: 579 580```js 581settings.getURI(settings.display.SCREEN_BRIGHTNESS_STATUS).then((uri:string) => { 582 console.log(`promise:uri -> ${JSON.stringify(uri)}`) 583}) 584``` 585 586## settings.setValue<sup>(deprecated)</sup> 587 588setValue(dataAbilityHelper: DataAbilityHelper, name: string, value: object, callback: AsyncCallback\<boolean>): void 589 590将数据项名称及数据项的值保存到数据库中。使用callback异步回调。 591 592> **说明:** 593> 594> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setValue()](#settingssetvalue10)。 595 596**系统接口**:此接口为系统接口。 597 598**模型约束**:此接口仅可在FA模型下使用。 599 600**系统能力**:SystemCapability.Applications.settings.Core 601 602**参数**: 603 604| 参数名 | 类型 | 必填 | 说明 | 605| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 606| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 607| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 608| value | object | 是 | 数据项值。取值范围随业务变动。 | 609| callback | AsyncCallback\<boolean> | 是 | 回调函数。返回true表示操作成功,否则操作失败。 | 610 611 612## settings.setValue<sup>(deprecated)</sup> 613 614setValue(dataAbilityHelper: DataAbilityHelper, name: string, value: object): Promise\<boolean> 615 616将数据项名称及数据项的值保存到数据库中。使用Promise异步回调。 617 618> **说明:** 619> 620> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setValue()](#settingssetvalue10-1)。 621 622**系统接口**:此接口为系统接口。 623 624**模型约束**:此接口仅可在FA模型下使用。 625 626**系统能力**:SystemCapability.Applications.settings.Core 627 628**参数**: 629 630| 参数名 | 类型 | 必填 | 说明 | 631| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 632| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 633| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 634| value | object | 是 | 数据项值。取值范围随业务变动。 | 635 636**返回值**: 637 638| 类型 | 说明 | 639| ----------------- | -------------------------------------------------- | 640| Promise\<boolean> | Promise对象。返回true表示操作成功,否则返回false。 | 641 642## setting.getValue<sup>(deprecated)</sup> 643 644getValue(dataAbilityHelper: DataAbilityHelper, name: string, callback: AsyncCallback\<object>): void 645 646获取数据库中指定数据项的值。使用callback异步回调。 647 648> **说明:** 649> 650> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getValue()](#settinggetvalue10)。 651 652**模型约束**:此接口仅可在FA模型下使用。 653 654**系统能力**:SystemCapability.Applications.settings.Core 655 656**参数**: 657 658| 参数名 | 类型 | 必填 | 说明 | 659| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 660| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 661| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br> - 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 662| callback | AsyncCallback\<object> | 是 | 使用callback方式获取数据项的值。 | 663 664**示例**: 665 666```js 667import featureAbility from '@ohos.ability.featureAbility'; 668 669let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 670let helper = featureAbility.acquireDataAbilityHelper(uri); 671settings.getValue(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, (err:Error, value:string) => { 672 if (err) { 673 console.error(`Failed to get the setting. ${err.message} `); 674 return; 675 } 676 console.log(`callback:value -> ${JSON.stringify(value)}`) 677}); 678``` 679 680## setting.getValue<sup>(deprecated)</sup> 681 682getValue(dataAbilityHelper: DataAbilityHelper, name: string): Promise\<object> 683 684获取数据库中指定数据项的值。使用Promise异步回调。 685 686> **说明:** 687> 688> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getValue()](#settinggetvalue10-1)。 689 690**模型约束**:此接口仅可在FA模型下使用。 691 692**系统能力**:SystemCapability.Applications.settings.Core 693 694**参数**: 695 696| 参数名 | 类型 | 必填 | 说明 | 697| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 698| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 699| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br> - 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 700 701**返回值**: 702 703| 类型 | 说明 | 704| ---------------- | ----------------------------------- | 705| Promise\<object> | Promise对象。返回获得的数据项的值。 | 706 707**示例**: 708 709```js 710import featureAbility from '@ohos.ability.featureAbility'; 711 712let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 713let helper = featureAbility.acquireDataAbilityHelper(uri); 714settings.getValue(helper, settings.display.SCREEN_BRIGHTNESS_STATUS).then((value:string) => { 715 console.log(`promise:value -> ${JSON.stringify(value)}`) 716}); 717``` 718 719## settings.getValueSync<sup>(deprecated)</sup> 720 721getValueSync(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string 722 723获取数据项的值。此方法相较getValue为同步方法。 724 725> **说明:** 726> 727> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getValueSync()](#settingsgetvaluesync10)。 728 729**模型约束**:此接口仅可在FA模型下使用。 730 731**系统能力**:SystemCapability.Applications.settings.Core 732 733**参数**: 734 735| 参数名 | 类型 | 必填 | 说明 | 736| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 737| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 738| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 739| defValue | string | 是 | 默认值。由开发者设置,当未从数据库中查询到该数据时,表示返回该默认值。 | 740 741**返回值**: 742 743| 类型 | 说明 | 744| ------ | ---------------- | 745| string | 返回数据项的值。 | 746 747**示例**: 748 749```js 750import featureAbility from '@ohos.ability.featureAbility'; 751 752//获取数据项亮度的值(该数据项在数据库中已存在) 753let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 754let helper = featureAbility.acquireDataAbilityHelper(uri); 755let value:string = settings.getValueSync(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, '10'); 756``` 757 758## settings.setValueSync<sup>(deprecated)</sup> 759 760setValueSync(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean 761 762设置数据项的值。此方法相较setValue为同步方法。 763 764如果数据库中已经存在该数据项,则setValueSync方法将更新该数据项的值;如果数据库中尚未存在该数据项,则setValueSync方法将向数据库中插入该数据项。 765 766> **说明:** 767> 768> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setValueSync()](#settingssetvaluesync10)。 769 770**模型约束**:此接口仅可在FA模型下使用。 771 772**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS,仅系统应用可用。 773 774**系统能力**:SystemCapability.Applications.settings.Core 775 776**参数**: 777 778| 参数名 | 类型 | 必填 | 说明 | 779| ----------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 780| dataAbilityHelper | [DataAbilityHelper](js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 781| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 782| value | string | 是 | 数据项的具体数值。取值范围随业务变动。 | 783 784**返回值**: 785 786| 类型 | 说明 | 787| ------- | ------------------------------------------------------------ | 788| boolean | 返回设置数据项的值是否成功的结果。true表示设置成功,false表示设置失败。 | 789 790**示例**: 791 792```js 793import featureAbility from '@ohos.ability.featureAbility'; 794 795//更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值) 796let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 797let helper = featureAbility.acquireDataAbilityHelper(uri); 798let ret:string = settings.setValueSync(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, '100'); 799```