1# @ohos.settings (设置数据项名称) 2 3<!--Kit: Basic Services Kit--> 4<!--Subsystem: Applications--> 5<!--Owner: @YingCong--> 6<!--Designer: @Kun_Wu--> 7<!--Tester: @dyx118186878--> 8<!--Adviser: @zhang_yixin13--> 9 10本模块提供访问设置数据项的能力。 11 12> **说明:** 13> 14> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 15> 16> - 如果访问的数据项没有获取到值,表示当前系统应用没有将该数据项的值添加到数据库。 17 18## 导入模块 19 20```js 21import { settings } from '@kit.BasicServicesKit'; 22``` 23## domainName 24 25提供查询的域名。 26 27### 属性 28 29**系统能力:** SystemCapability.Applications.Settings.Core 30 31| 名称 | 类型 | 可读 | 可写 | 说明 | 32|-----------------------------| ------ | ---- | ---- |----------------------| 33| DEVICE_SHARED<sup>11+</sup> | string | 是 | 是 | 设备属性共享域,所有设置项不区分多用户。 | 34| USER_PROPERTY<sup>11+</sup> | string | 是 | 是 | 为用户属性域,该域下所有配置区分多用户。 | 35 36## date 37 38提供设置时间和日期格式的数据项(暂不支持)。 39 40### 属性 41 42**系统能力:** SystemCapability.Applications.Settings.Core 43 44| 名称 | 类型 | 可读 | 可写 | 说明 | 45| ------------------- | ------ | ---- | ---- |----------------------------------------------------------------------------| 46| DATE_FORMAT | string | 是 | 是 | 日期格式。<br/>日期格式包括mm/dd/yyyy、dd/mm/yyyy和yyyy/mm/dd,其中mm、dd和yyyy分别代表月份、日期和年份。 | 47| TIME_FORMAT | string | 是 | 是 | 时间以12小时格式或24小时格式显示。<br>- 值为 "12"表示12小时格式。<br/>- 值为"24"表示24小时格式。 | 48| AUTO_GAIN_TIME | string | 是 | 是 | 是否自动从网络获取日期、时间和时区。 <br>- 值为true,表示自动从网络获取信息。<br/>- 值为false,表示不自动获取信息。 | 49| AUTO_GAIN_TIME_ZONE | string | 是 | 是 | 是否自动从NITZ获取时区。 <br>- 值为true,表示自动获取。<br/>- 值为false,表示不自动获取。 | 50 51## display 52 53提供设置显示效果的数据项(暂不支持)。 54 55### 属性 56 57**系统能力:** SystemCapability.Applications.Settings.Core 58 59| 名称 | 类型 | 可读 | 可写 | 说明 | 60| ----------------------------- | ------ | ---- | ---- |----------------------------------------------------------------------------------------------------------------------| 61| FONT_SCALE | string | 是 | 是 | 字体的比例因子,值为浮点数。 | 62| SCREEN_BRIGHTNESS_STATUS | string | 是 | 是 | 屏幕亮度。取值范围:0到255。 | 63| AUTO_SCREEN_BRIGHTNESS | string | 是 | 是 | 是否启用屏幕亮度自动调整。<br/>- 值为AUTO_SCREEN_BRIGHTNESS_MODE,表示启用自动调整。<br/>- 值为MANUAL_SCREEN_BRIGHTNESS_MODE,表示不启用自动调整。 | 64| AUTO_SCREEN_BRIGHTNESS_MODE | number | 是 | 是 | 使用屏幕亮度自动调整时AUTO_SCREEN_BRIGHTNESS的值。 | 65| MANUAL_SCREEN_BRIGHTNESS_MODE | number | 是 | 是 | 使用屏幕亮度手动调整时的AUTO_SCREEN_BRIGHTNESS值。 | 66| SCREEN_OFF_TIMEOUT | string | 是 | 是 | 设备在一段时间不活动后进入睡眠状态的等待时间(单位: ms)。 | 67| DEFAULT_SCREEN_ROTATION | string | 是 | 是 | 启用屏幕的自动旋转时,此属性无效。不启用自动旋转时,以下值可用: <br>- 值为0,表示屏幕旋转0度。<br>- 值为1,表示屏幕旋转90度。<br/>- 值为2,表示屏幕旋转180度。<br/>- 值为3,表示屏幕旋转270度。 | 68| ANIMATOR_DURATION_SCALE | string | 是 | 是 | 动画持续时间的比例因子,影响所有此类动画的开始延迟和持续时间。<br/>值为0,表示动画将立即结束。默认值为1。 | 69| TRANSITION_ANIMATION_SCALE | string | 是 | 是 | 过渡动画的比例因子。<br/>值为0,表示禁用过渡动画。 | 70| WINDOW_ANIMATION_SCALE | string | 是 | 是 | 普通窗口动画的比例因子。<br/>值为0,表示禁用窗口动画。 | 71| DISPLAY_INVERSION_STATUS | string | 是 | 是 | 是否启用显示颜色反转。<br/>- 值为1,表示启用显示颜色反转。<br/>- 值为0,表示不启用显示颜色反转。 | 72 73## general 74 75提供设置设备常规信息的数据项(暂不支持)。 76 77### 属性 78 79**系统能力:** SystemCapability.Applications.Settings.Core 80 81| 名称 | 类型 | 可读 | 可写 | 说明 | 82| -------------------------------- | ------ | ---- | ---- |-------------------------------------------------------------------------------------------------------------------------------------| 83| SETUP_WIZARD_FINISHED | string | 是 | 是 | 是否已运行启动向导。<br>- 值为0,表示启动向导尚未运行。<br/>- 值为非0,表示启动向导已运行。 | 84| END_BUTTON_ACTION | string | 是 | 是 | 当用户不在呼叫中时,由用户按下呼叫结束按钮后会发生的情况。<br/>- 值为0,表示没有任何反应。<br/>- 值为1,表示显示主屏幕。<br/>- 值为2,表示设备进入睡眠状态,屏幕锁定。<br/>- 值为3,表示显示主屏幕。如果用户已在主屏幕上,设备将进入睡眠状态。 | 85| ACCELEROMETER_ROTATION_STATUS | string | 是 | 是 | 是否启用加速计更改屏幕方向(是否启用自动旋转)。<br>- 值为1,表示启用加速计。<br/>- 值为0,表示不启用加速计。 | 86| DEVICE_PROVISION_STATUS | string | 是 | 是 | 是否预配设备。<br>在具有单个系统用户的多用户设备上,当值为true时,屏幕可能会被锁定。此外,其他功能无法在系统用户上启动,除非被标记在屏幕锁定上显示。 | 87| HDC_STATUS | string | 是 | 是 | 是否启用USB设备上的HDC(硬盘控制器)。<br>- 值为true,表示启用HDC。<br/>- 值为false,表示不启用HDC。 | 88| BOOT_COUNTING | string | 是 | 是 | 设备开机后的启动操作数。 | 89| CONTACT_METADATA_SYNC_STATUS | string | 是 | 是 | 是否启用联系人元数据同步。<br>- 值为true,表示启用同步。<br/>- 值为false,表示不启用同步。 | 90| DEVICE_NAME | string | 是 | 是 | 设备名称。 | 91| USB_STORAGE_STATUS | string | 是 | 是 | 是否启用USB大容量存储。<br>- 值为true,表示启用USB大容量存储。<br/>- 值为false,表示不启用USB大容量存储。 | 92| DEBUGGER_WAITING | string | 是 | 是 | 设备在启动应用程序进行调试时是否等待调试器进行调试。<br>- 值为1,表示设备等待调试器。<br/>- 值为0,表示系统不会等待调试器,应用程序正常运行。 | 93| DEBUG_APP_PACKAGE | string | 是 | 是 | 要调试的应用程序的bundle name。 | 94| ACCESSIBILITY_STATUS | string | 是 | 是 | 是否启用辅助功能。<br>- 值为1,表示启用辅助功能。<br/>- 值为0,表示不启用辅助功能。 | 95| ACTIVATED_ACCESSIBILITY_SERVICES | string | 是 | 是 | 已激活的辅助功能的列表。 | 96| GEOLOCATION_ORIGINS_ALLOWED | string | 是 | 是 | 浏览器可以使用的默认地理位置。多个地理位置由空格分隔。 | 97| SKIP_USE_HINTS | string | 是 | 是 | 控制应用程序首次启动时是否跳过所有介绍性提示。适用于临时用户或熟悉环境的用户。<br>- 值为1,表示应用程序将在首次启动时跳过所有介绍性提示。<br/>- 值为0,表示应用程序不会在首次启动时跳过所有介绍性提示。 | 98| TOUCH_EXPLORATION_STATUS | string | 是 | 是 | 是否启用触摸浏览。<br>- 值为1,表示启用触摸浏览。<br/>- 值为0,表示不启用触摸浏览。 | 99 100## input 101 102提供设置有关输入法信息的数据项(暂不支持)。 103 104### 属性 105 106**系统能力:** SystemCapability.Applications.Settings.Core 107 108| 名称 | 类型 | 可读 | 可写 | 说明 | 109| ------------------------------------ | ------ | ---- | ---- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 110| DEFAULT_INPUT_METHOD | string | 是 | 是 | 默认输入法及其ID。 | 111| ACTIVATED_INPUT_METHOD_SUB_MODE | string | 是 | 是 | 默认输入法键盘类型及其ID。 | 112| ACTIVATED_INPUT_METHODS | string | 是 | 是 | 已激活的输入法的列表。<br>该列表是一个字符串,由已激活的输入法ID和输入法键盘类型组成。<br>输入法ID后添加冒号':'连接,输入法的键盘类型后添加分号';'连接。<br>用ima代表输入法ID,keyboardType代表键盘类型,示例格式是ima0:keyboardType0;keyboardType1;ima1:ima2:keyboardTypes0。 | 113| SELECTOR_VISIBILITY_FOR_INPUT_METHOD | string | 是 | 是 | 输入法选择器是否可见。<br>- 值为1,表示输入法选择器可见。<br/>- 值为0,表示输入法选择器不可见。 | 114| AUTO_CAPS_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动大写。<br>- 值为0,表示不启用自动大写。<br/>- 值为1,表示启用自动大写。 | 115| AUTO_PUNCTUATE_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动标点符号。自动标点符号使文本编辑器能够将两个空格转换为句点'.'和空格。<br>- 值为0,表示不启用自动标点符号。<br/>- 值为1,表示启用自动标点符号。 | 116| AUTO_REPLACE_TEXT_INPUT | string | 是 | 是 | 是否为文本编辑器启用自动更正。自动更正使文本编辑器能够更正拼写错误。<br>- 值为0,表示不启用自动更正。<br/>- 值为1,表示启用自动更正。 | 117| SHOW_PASSWORD_TEXT_INPUT | string | 是 | 是 | 是否在文本编辑器中启用密码显示。密码显示使文本编辑器能够在用户键入密码字符时显示密码字符。<br>- 值为0,表示不启用密码显示。<br/>- 值为1,表示启用密码显示。 | 118 119## network 120 121提供设置网络信息的数据项(暂不支持)。 122 123### 属性 124 125**系统能力:** SystemCapability.Applications.Settings.Core 126 127| 名称 | 类型 | 可读 | 可写 | 说明 | 128| ------------------------ | ------ | ---- | ---- |----------------------------------------------------------| 129| DATA_ROAMING_STATUS | string | 是 | 是 | 是否启用数据漫游。<br>- 值为true,表示启用数据漫游。<br/>- 值为false,表示不启用数据漫游。 | 130| HTTP_PROXY_CFG | string | 是 | 是 | 全局HTTP代理的主机名和端口号。主机名和端口号由冒号':'分隔。 | 131| NETWORK_PREFERENCE_USAGE | string | 是 | 是 | 要使用网络的用户首选项。 | 132 133## phone 134 135提供设置来电和去电接听方式的数据项(暂不支持)。 136 137### 属性 138 139**系统能力:** SystemCapability.Applications.Settings.Core 140 141| 名称 | 类型 | 可读 | 可写 | 说明 | 142| ------------------ | ------ | ---- | ---- |--------------------------------------------------------------------------------------------| 143| RTT_CALLING_STATUS | string | 是 | 是 | 是否启用实时文本(RTT)呼叫。启用表示来电和去电在设备以及运营商支持时作为RTT呼叫应答。 <br>- 值为1,表示启用RTT呼叫。 <br/>- 值为0,表示不启用RTT呼叫。 | 144 145## sound 146 147提供设置声音效果的数据项(暂不支持)。 148 149### 属性 150 151**系统能力:** SystemCapability.Applications.Settings.Core 152 153| 名称 | 类型 | 可读 | 可写 | 说明 | 154| ---------------------------- | ------ | ---- | ---- |--------------------------------------------------------------------------| 155| VIBRATE_WHILE_RINGING | string | 是 | 是 | 设备在来电响铃时是否振动。此属性由电话和设置应用程序使用。<br/>该值是布尔类型,仅影响设备因来电而响铃的情况,不影响任何其他应用程序或场景。 | 156| DEFAULT_ALARM_ALERT | string | 是 | 是 | 系统默认告警的存储区域。 | 157| DTMF_TONE_TYPE_WHILE_DIALING | string | 是 | 是 | 拨号时播放的双音多频(DTMF)音的类型。 <br>- 值为0,表示常规的短音效。<br/>- 值为1,表示长音效。 | 158| DTMF_TONE_WHILE_DIALING | string | 是 | 是 | 拨号时是否播放DTMF音。<br>- 值为1,表示播放DTMF音。<br/>- 值为0,表示不播放。 | 159| AFFECTED_MODE_RINGER_STREAMS | string | 是 | 是 | 音频流受振铃模式和请勿打扰(DND)模式更改的影响。要求特定的音频流受到振铃模式和DND模式变化的影响,将对应比特位设置为1。 | 160| AFFECTED_MUTE_STREAMS | string | 是 | 是 | 受静音模式影响的音频流。若需在静音模式下保持特定音频流静音,将相应位设为1。 | 161| DEFAULT_NOTIFICATION_SOUND | string | 是 | 是 | 系统默认通知音的存储区域。 | 162| DEFAULT_RINGTONE | string | 是 | 是 | 系统默认铃声的存储区域。 | 163| SOUND_EFFECTS_STATUS | string | 是 | 是 | 声音功能是否可用。<br>- 值为0,表示不可用。 <br/>- 值为1,表示可用。 | 164| VIBRATE_STATUS | string | 是 | 是 | 设备是否为事件振动。该参数在系统内部使用。 <br>- 值为1,表示设备会因事件而振动。 <br/>- 值为0,表示设备不因事件振动。 | 165| HAPTIC_FEEDBACK_STATUS | string | 是 | 是 | 设备是否启用触觉反馈。<br/>- 值为true,表示启用触觉反馈。<br/>- 值为false,表示不启用触觉反馈。 | 166 167## TTS 168 169提供设置文本到语音(TTS)转换信息的数据项(暂不支持)。 170 171### 属性 172 173**系统能力:** SystemCapability.Applications.Settings.Core 174 175| 名称 | 类型 | 可读 | 可写 | 说明 | 176| ------------------- | ------ | ---- | ---- | ------------------------------------------------------------ | 177| DEFAULT_TTS_PITCH | string | 是 | 是 | 文本转语音(TTS)引擎的默认音高。<br>其中100=1x,该值设置为200,表示频率是正常声音频率的两倍。 | 178| DEFAULT_TTS_RATE | string | 是 | 是 | TTS引擎的默认语速。<br>其中100=1x。 | 179| DEFAULT_TTS_SYNTH | string | 是 | 是 | 默认TTS引擎。 | 180| ENABLED_TTS_PLUGINS | string | 是 | 是 | 用于TTS的已激活插件包列表,多个插件包用空格分隔。 | 181 182 183## wireless 184 185提供设置无线网络信息的数据项(暂不支持)。 186 187### 属性 188 189**系统能力:** SystemCapability.Applications.Settings.Core 190 191| 名称 | 类型 | 可读 | 可写 | 说明 | 192| --------------------------------- | ------ | ---- | ---- |----------------------------------------------------------------------------------------------------------| 193| BLUETOOTH_DISCOVER_ABILITY_STATUS | string | 是 | 是 | 设备是否可以被其他设备通过蓝牙发现或连接。<br>- 值为0,表示设备不可以被连接或发现。<br/>- 值为1,表示设备可以被连接但不可以被发现。<br/>- 值为2,表示设备可以被连接和发现。 | 194| BLUETOOTH_DISCOVER_TIMEOUT | string | 是 | 是 | 通过蓝牙发现设备的持续时间(以秒为单位)。<br>这段时间后,设备不可以被蓝牙搜寻到。 | 195| AIRPLANE_MODE_RADIOS | string | 是 | 是 | 启用飞行模式时要禁用的无线电信号列表。 <br>多个无线电信号用逗号(,)分隔。<br>取值包括以下常量:BLUETOOTH_RADIO、 CELL_RADIO、 NFC_RADIO、 WIFI_RADIO。 | 196| BLUETOOTH_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示蓝牙在飞行模式下禁用。 | 197| CELL_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示蜂窝无线电在飞行模式下禁用。 | 198| NFC_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示NFC在飞行模式下禁用。 | 199| WIFI_RADIO | string | 是 | 否 | 常量,作为AIRPLANE_MODE_RADIOS的取值时表示Wi-Fi在飞行模式下禁用。 | 200| BLUETOOTH_STATUS | string | 是 | 是 | 蓝牙是否可用。 <br>- 值为true,表示蓝牙可用。<br/>- 值为false,表示蓝牙不可用。 | 201| OWNER_LOCKDOWN_WIFI_CFG | string | 是 | 是 | 是否应锁定由设备所有者的应用程序创建的Wi-Fi配置。<br>- 值为true,表示Wi-Fi配置应该被锁定。<br/>- 值为false,表示不应该被锁定。 | 202| WIFI_DHCP_MAX_RETRY_COUNT | string | 是 | 是 | 尝试从DHCP服务器获取IP地址的最大次数。 | 203| WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT | string | 是 | 是 | Wi-Fi连接断开后等待移动数据连接时保持唤醒锁的最长时间。 | 204| WIFI_STATUS | string | 是 | 是 | Wi-Fi是否可用。<br>- 值为true,表示Wi-Fi可用。<br/>- 值为false,表示Wi-Fi不可用。 | 205| WIFI_WATCHDOG_STATUS | string | 是 | 是 | Wi-Fi的WatchDog是否可用。 <br>- 值为true,表示可用。<br/>- 值为false,表示不可用。 | 206 207 208## settings.setValue<sup>10+</sup> 209 210setValue(context: Context, name: string, value: string, callback: AsyncCallback\<boolean>): void 211 212将数据项名称及数据项的值保存到DEVICE_SHARED域数据库中,使用callback异步回调。 213 214**模型约束**:此接口仅可在Stage模型下使用。 215 216**系统能力**:SystemCapability.Applications.Settings.Core 217 218**需要权限**: ohos.permission.MANAGE_SETTINGS,仅系统应用可用。 219 220**参数**: 221 222| 参数名 | 类型 | 必填 | 说明 | 223| -------- | ----------------------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 224| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 225| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 226| value | string | 是 | 数据项值。取值范围随业务变动。 | 227| callback | AsyncCallback\<boolean> | 是 | 回调函数。返回true表示操作成功,返回false表示操作失败。 | 228 229**示例**: 230 231<!--code_no_check--> 232```js 233import { settings } from '@kit.BasicServicesKit'; 234import { common } from '@kit.AbilityKit'; 235 236// 更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值)。 237// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 238const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 239settings.setValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100', (status) => { 240 console.log('Callback return whether value is set.'); 241}); 242``` 243 244## settings.setValue<sup>10+</sup> 245 246setValue(context: Context, name: string, value: string): Promise\<boolean> 247 248将数据项名称及数据项的值保存到DEVICE_SHARED域数据库中。使用Promise异步回调。 249 250**模型约束**:此接口仅可在Stage模型下使用。 251 252**系统能力**:SystemCapability.Applications.Settings.Core 253 254**需要权限**: ohos.permission.MANAGE_SETTINGS,该权限仅系统应用可用。 255 256**参数**: 257 258| 参数名 | 类型 | 必填 | 说明 | 259| ------- | ------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 260| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 261| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 262| value | string | 是 | 数据项值。取值范围随业务变动。 | 263 264**返回值**: 265 266| 类型 | 说明 | 267| ----------------- |---------------------------------------| 268| Promise\<boolean> | Promise对象。返回true表示操作成功,返回false表示操作失败。 | 269 270**示例**: 271 272<!--code_no_check--> 273```js 274import { settings } from '@kit.BasicServicesKit'; 275import { common } from '@kit.AbilityKit'; 276 277// 更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值)。 278// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 279const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 280settings.setValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100').then((status) => { 281 console.log('Callback return whether value is set.'); 282}); 283``` 284 285## settings.setValue<sup>11+</sup> 286 287setValue(context: Context, name: string, value: string, domainName: string): Promise\<boolean> 288 289将数据项名称及数据项的值保存到数据库中。使用Promise异步回调。 290 291**模型约束**:此接口仅可在Stage模型下使用。 292 293**系统能力**:SystemCapability.Applications.Settings.Core 294 295**需要权限**: 296- 写入DEVICE_SHARED、USER_PROPERTY域需要权限ohos.permission.MANAGE_SETTINGS,该权限仅系统应用可用。 297- 写入USER_SECURITY域需要权限ohos.permission.MANAGE_SECURE_SETTINGS,该权限仅系统应用可用。 298 299**参数**: 300 301| 参数名 | 类型 | 必填 | 说明 | 302| -------- | ---------------------- | ---- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 303| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 304| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 305| value | string | 是 | 数据项值。取值范围随业务变动。 | 306|domainName| string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 表示设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示用户安全属性域(仅对系统应用开放)。 | 307 308**返回值**: 309 310| 类型 | 说明 | 311|-------------------|---------------------------------------| 312| Promise\<boolean> | Promise对象。返回true表示操作成功,返回false表示操作失败。 | 313 314**错误码**: 315 316以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 317 318| 错误码ID | 错误信息 | 319| ------- | -------- | 320| 201 | Permission denied. | 321 322**示例**: 323 324<!--code_no_check--> 325```js 326import { settings } from '@kit.BasicServicesKit'; 327import { common } from '@kit.AbilityKit'; 328 329// 更新数据项亮度的值(该数据项在数据库中已存在,故setValue方法将更新该数据项的值)。 330// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 331const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 332settings.setValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100', settings.domainName.DEVICE_SHARED).then((status) => { 333 console.log(`callback:return whether value is set.`) 334}); 335``` 336 337## settings.getValue<sup>10+</sup> 338 339getValue(context: Context, name: string, callback: AsyncCallback\<string>): void 340 341获取数据库中DEVICE_SHARD域指定数据项的值。使用callback异步回调。 342 343**模型约束**:此接口仅可在Stage模型下使用。 344 345**系统能力**:SystemCapability.Applications.Settings.Core 346 347**参数**: 348 349| 参数名 | 类型 | 必填 | 说明 | 350| -------- | ---------------------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 351| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 352| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 353| callback | AsyncCallback\<string> | 是 | 使用callback方式获取数据项的值。 | 354 355**示例**: 356 357<!--code_no_check--> 358```js 359import { settings } from '@kit.BasicServicesKit'; 360import { common } from '@kit.AbilityKit'; 361 362// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 363const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 364settings.getValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS, (err, value) => { 365 if (err) { 366 console.error(`Failed to get the setting. ${err.message} `); 367 return; 368 } 369 console.log(`callback:value -> ${value}`) 370}); 371``` 372 373## settings.getValue<sup>10+</sup> 374 375getValue(context: Context, name: string): Promise\<string> 376 377获取数据库中DEVICE_SHARD域指定数据项的值。使用Promise异步回调。 378 379**模型约束**:此接口仅可在Stage模型下使用。 380 381**系统能力**:SystemCapability.Applications.Settings.Core 382 383**参数**: 384 385| 参数名 | 类型 | 必填 | 说明 | 386| ------- | ------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 387| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 388| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 389 390**返回值**: 391 392| 类型 | 说明 | 393| ---------------- | ----------------------------------- | 394| Promise\<string> | Promise对象。返回获得的数据项的值。 | 395 396**示例**: 397 398<!--code_no_check--> 399```js 400import { settings } from '@kit.BasicServicesKit'; 401import { common } from '@kit.AbilityKit'; 402 403// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 404const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 405settings.getValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS).then((value) => { 406 console.log(`promise:value -> ${value}`) 407}); 408``` 409 410## settings.getValue<sup>11+</sup> 411 412getValue(context: Context, name: string, domainName: string): Promise\<string> 413 414获取数据库中指定数据项的值。使用Promise异步回调。 415 416**模型约束**:此接口仅可在Stage模型下使用。 417 418**系统能力**:SystemCapability.Applications.Settings.Core 419 420**需要权限**: 421- 读取USER_SECURITY域需要权限ohos.permission.MANAGE_SECURE_SETTINGS,该权限仅系统应用可用。 422 423**参数**: 424 425| 参数名 | 类型 | 必填 | 说明 | 426| -------- | ---------------------- | ---- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 427| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 428| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 429|domainName| string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示为用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示为用户安全属性域(仅对系统应用开放)。 | 430 431**返回值**: 432 433| 类型 | 说明 | 434| ---------------- | ----------------------------------- | 435| Promise\<string> | Promise对象。返回获得的数据项的值。 | 436 437**示例**: 438 439<!--code_no_check--> 440```js 441import { settings } from '@kit.BasicServicesKit'; 442import { common } from '@kit.AbilityKit'; 443 444// 更新数据项亮度的值(该数据项在数据库中已存在,故getValue方法将更新该数据项的值)。 445// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 446const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 447settings.getValue(context, settings.display.SCREEN_BRIGHTNESS_STATUS, settings.domainName.DEVICE_SHARED).then((value) => { 448 console.log(`Promise:value -> ${value}`); 449}); 450``` 451 452## settings.getValueSync<sup>10+</sup> 453 454getValueSync(context: Context, name: string, defValue: string): string 455 456获取数据项的值。此方法相较getValue为同步方法。 457 458**模型约束**:此接口仅可在Stage模型下使用。 459 460**系统能力**:SystemCapability.Applications.Settings.Core 461 462**参数**: 463 464| 参数名 | 类型 | 必填 | 说明 | 465| -------- | ------- | ---- |-------------------------------------------------------------------------------------------------------------------------------------------| 466| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 467| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 468| defValue | string | 是 | 默认值。由开发者设置,在数据库中查询不到该数据时,返回默认值。 | 469 470**返回值**: 471 472| 类型 | 说明 | 473| ------ | ---------------- | 474| string | 返回数据项的值。 | 475 476**示例**: 477 478<!--code_no_check--> 479```js 480import { settings } from '@kit.BasicServicesKit'; 481import { common } from '@kit.AbilityKit'; 482 483// 获取数据项亮度的值(该数据项在数据库中已存在)。 484// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 485const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 486let value = settings.getValueSync(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '10'); 487``` 488 489## settings.getValueSync<sup>11+</sup> 490 491getValueSync(context: Context, name: string, defValue: string, domainName: string): string 492 493获取数据项的值。此方法相较getValue为同步方法。 494 495**模型约束**:此接口仅可在Stage模型下使用。 496 497**系统能力**:SystemCapability.Applications.Settings.Core 498 499**需要权限**: 500- 读取USER_SECURITY域需要权限ohos.permission.MANAGE_SECURE_SETTINGS,该权限仅系统应用可用。 501 502**参数**: 503 504| 参数名 | 类型 | 必填 | 说明 | 505|------------| ---------------------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 506| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 507| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 508| defValue | string | 是 | 默认值。由开发者设置,在数据库中查询不到该数据时,返回默认值。 | 509| domainName | string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示为用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示为用户安全属性域(仅对系统应用开放)。 | 510 511 512**返回值**: 513 514| 类型 | 说明 | 515| ---------------- | ----------------------------------- | 516| string | 返回数据项的值。 | 517 518**示例**: 519 520<!--code_no_check--> 521```js 522import { settings } from '@kit.BasicServicesKit'; 523import { common } from '@kit.AbilityKit'; 524 525// 更新数据项亮度的值(该数据项在数据库中已存在)。 526// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 527const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 528let value = settings.getValueSync(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100', settings.domainName.DEVICE_SHARED); 529``` 530 531## settings.setValueSync<sup>10+</sup> 532 533setValueSync(context: Context, name: string, value: string): boolean 534 535设置数据项的值。此方法相较setValue为同步方法。 536 537- 如果数据库中已经存在该数据项,setValueSync方法将更新该数据项的值。 538- 如果数据库中不存在该数据项,setValueSync方法将向数据库中插入该数据项。 539 540**模型约束**:此接口仅可在Stage模型下使用。 541 542**系统能力**:SystemCapability.Applications.Settings.Core 543 544**需要权限**: ohos.permission.MANAGE_SETTINGS,该权限仅系统应用可用。 545 546**参数**: 547 548| 参数名 | 类型 | 必填 | 说明 | 549| ------- | ------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 550| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 551| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 552| value | string | 是 | 数据项的具体数值。取值范围随业务变动。 | 553 554**返回值**: 555 556| 类型 | 说明 | 557| ------- | ------------------------------------------------------------ | 558| boolean | 返回设置数据项的值是否成功的结果。true表示设置成功,false表示设置失败。 | 559 560**示例**: 561 562<!--code_no_check--> 563```js 564import { settings } from '@kit.BasicServicesKit'; 565import { common } from '@kit.AbilityKit'; 566 567// 更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值)。 568// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 569const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 570let ret = settings.setValueSync(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100'); 571``` 572 573## settings.setValueSync<sup>11+</sup> 574 575setValueSync(context: Context, name: string, value: string, domainName: string): boolean 576 577设置数据项的值。此方法相较setValue为同步方法。 578 579- 如果数据库中已经存在该数据项,则setValueSync方法将更新该数据项的值。 580- 如果数据库中尚未存在该数据项,则setValueSync方法将向数据库中插入该数据项。 581 582**模型约束**:此接口仅可在Stage模型下使用。 583 584**系统能力**:SystemCapability.Applications.Settings.Core 585 586**需要权限**: 587- 写入DEVICE_SHARED、USER_PROPERTY域需要权限ohos.permission.MANAGE_SETTINGS,该权限仅系统应用可用。 588- 写入USER_SECURITY域需要权限ohos.permission.MANAGE_SECURE_SETTINGS,该权限仅系统应用可用。 589 590**参数**: 591 592| 参数名 | 类型 | 必填 | 说明 | 593|---------| ---------------------- | ---- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 594| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 595| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 596| value | string | 是 | 数据项值。取值范围随业务变动。 | 597| domainName | string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示为用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示为用户安全属性域(仅对系统应用开放)。 | 598 599**返回值**: 600 601| 类型 | 说明 | 602| ---------------- | ----------------------------------- | 603| boolean | 返回设置数据项的值是否成功的结果。true表示设置成功,false表示设置失败。 | 604 605**错误码**: 606 607以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 608 609| 错误码ID | 错误信息 | 610| ------- | -------- | 611| 201 | Permission denied. | 612 613**示例**: 614 615<!--code_no_check--> 616```js 617import { settings } from '@kit.BasicServicesKit'; 618import { common } from '@kit.AbilityKit'; 619 620// 更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值)。 621// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 622const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 623let ret = settings.setValueSync(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '100', settings.domainName.DEVICE_SHARED); 624``` 625 626## settings.registerKeyObserver<sup>11+</sup> 627 628registerKeyObserver(context: Context, name: string, domainName: string, observer:AsyncCallback\<void>): boolean 629 630用于在指定上下文中注册一个观察者,以便在指定域名中观察指定的数据项。当该数据项的值发生变化时,将调用注册的回调函数。成功注册返回true,否则返回false。 631 632**模型约束**:此接口仅可在Stage模型下使用。 633 634**系统能力**:SystemCapability.Applications.Settings.Core 635 636**参数**: 637 638| 参数名 | 类型 | 必填 | 说明 | 639| -------- | ---------------------- | ---- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 640| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 641| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 642|domainName| string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示为用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示为用户安全属性域(仅对系统应用开放)。 | 643|observer | AsyncCallback\<void> | 是 | 使用callback方式获取数据项的值。 | 644 645**返回值**: 646 647| 类型 | 说明 | 648| ---------------- |----------------------------------------| 649| boolean | 返回注册观察者是否成功的结果。true表示注册成功,false表示注册失败。 | 650 651**示例**: 652 653<!--code_no_check--> 654```js 655import { settings } from '@kit.BasicServicesKit'; 656import { common } from '@kit.AbilityKit'; 657 658// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 659const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 660settings.registerKeyObserver(context, settings.display.SCREEN_BRIGHTNESS_STATUS, settings.domainName.DEVICE_SHARED, () => { 661 let value:string = settings.getValueSync(context, settings.display.SCREEN_BRIGHTNESS_STATUS, '10'); 662 console.log(`Promise:value -> ${value}`); 663}); 664``` 665 666## settings.unregisterKeyObserver<sup>11+</sup> 667 668unregisterKeyObserver(context: Context, name: string, domainName: string): boolean 669 670同步方法,注销指定域名下对指定数据项名称的观察者。 671 672**模型约束**:此接口仅可在Stage模型下使用。 673 674**系统能力**:SystemCapability.Applications.Settings.Core 675 676**参数**: 677 678| 参数名 | 类型 | 必填 | 说明 | 679| -------- | ---------------------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 680| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 681| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 682|domainName| string | 是 | 指定要设置的域名。 <br>- domainName为domainName.DEVICE_SHARED,<br> 设备属性共享域。<br>- domainName为domainName.USER_PROPERTY,<br> 表示为用户属性域。 <br>- domainName为domainName.USER_SECURITY,<br> 表示为用户安全属性域(仅对系统应用开放) | 683 684**返回值**: 685 686| 类型 | 说明 | 687| ---------------- | ----------------------------------- | 688| boolean | 返回注销指定域名下指定键的监视器是否成功。true表示注销成功,false表示注销失败。 | 689 690**示例**: 691 692<!--code_no_check--> 693```js 694import { settings } from '@kit.BasicServicesKit'; 695import { common } from '@kit.AbilityKit'; 696 697// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 698const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 699let ret = settings.unregisterKeyObserver(context, settings.display.SCREEN_BRIGHTNESS_STATUS, settings.domainName.DEVICE_SHARED); 700``` 701 702## settings.openNetworkManagerSettings<sup>18+</sup> 703 704openNetworkManagerSettings(context: Context): Promise\<boolean> 705 706打开网络管理器设置页面。使用Promise异步回调。 707 708**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 709 710**系统能力**:SystemCapability.Applications.Settings.Core 711 712**设备行为差异**:该接口在Phone、PC/2in1、Tablet设备中可正常调用,在其他设备调用不生效。 713 714**参数**: 715 716| 参数名 | 类型 | 必填 | 说明 | 717| -------- | ---------------------- | ---- |--------------------------------------------------------------------------------------------------------------------------------------------| 718| context | Context | 是 | 应用上下文(仅支持UIAbilityContext和ExtensionContext)。<br />Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 719 720**返回值**: 721 722| 类型 | 说明 | 723| ---------------- |---------------------------------------| 724| Promise\<boolean> | Promise对象。返回true表示操作成功,返回false表示操作失败。 | 725 726**错误码**: 727 728以下错误码详细介绍请参考[设置数据项错误码](./errorcode-settings.md)。 729 730| 错误码ID | 错误信息 | 731|----------|-------------------------| 732| 14800000 | Parameter error. | 733| 14800010 | Original service error. | 734 735**示例**: 736 737<!--code_no_check--> 738```js 739import { settings } from '@kit.BasicServicesKit'; 740import { common } from '@kit.AbilityKit'; 741 742// 跳转网络管理器设置页面。 743// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext。 744const context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext; 745settings.openNetworkManagerSettings(context).then((status) => { 746 console.log(`callback:return whether setings is open.`) 747}); 748``` 749 750## settings.enableAirplaneMode 751 752enableAirplaneMode(enable: boolean, callback: AsyncCallback\<void>): void 753 754启用或禁用飞行模式。使用callback异步回调(暂不支持)。 755 756**系统能力**:SystemCapability.Applications.Settings.Core 757 758**参数**: 759 760| 参数名 | 类型 | 必填 | 说明 | 761| -------- | -------------------- | ---- | ----------------------------------------------- | 762| enable | boolean | 是 | 是否开启飞行模式。true表示开启,false表示禁用。 | 763| callback | AsyncCallback\<void> | 是 | 回调函数。 | 764 765**示例**: 766 767```js 768let isEnabled :boolean = true; 769settings.enableAirplaneMode(isEnabled, (err:Error) => { 770 if (err) { 771 console.error('Failed to enable AirplaneMode.'); 772 return; 773 } 774 console.log('Return true if enable.'); 775}) 776``` 777 778## settings.enableAirplaneMode 779 780enableAirplaneMode(enable: boolean): Promise\<void> 781 782启用或禁用飞行模式。使用Promise异步回调(暂不支持)。 783 784**系统能力**:SystemCapability.Applications.Settings.Core 785 786**参数**: 787 788| 参数名 | 类型 | 必填 | 说明 | 789| ------ | ------- | ---- | ----------------------------------------------- | 790| enable | boolean | 是 | 是否开启飞行模式。true表示开启,false表示禁用。 | 791 792**返回值**: 793 794| 类型 | 说明 | 795| -------------- | ------------------------- | 796| Promise\<void> | 无返回结果的Promise对象。 | 797 798**示例**: 799 800```js 801let isEnabled :boolean = true; 802settings.enableAirplaneMode(isEnabled).then(() => { 803 console.log('Succeeded in enabling AirplaneMode.'); 804}).catch((err:Error) => { 805 console.error(`Failed to enable AirplaneMode. Cause: ${err}`); 806}) 807``` 808 809## settings.canShowFloating 810 811canShowFloating(callback: AsyncCallback\<boolean>): void 812 813检查应用是否能够以悬浮窗形式显示。使用callback异步回调(暂不支持)。 814 815**系统能力**:SystemCapability.Applications.Settings.Core 816 817**参数**: 818 819| 参数名 | 类型 | 必填 | 说明 | 820| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 821| callback | AsyncCallback\<boolean> | 是 | 回调函数。<br/>返回true,表示应用能够以悬浮窗形式显示。返回false,表示不能。 | 822 823**示例**: 824 825```js 826settings.canShowFloating((err:Error, status: boolean) => { 827 if (err) { 828 console.error(`Failed to Checks whether a specified application can show as float window ${err.message} `); 829 return; 830 } 831 console.log('Checks whether a specified application can show as float window.'); 832}); 833``` 834 835## settings.canShowFloating 836 837canShowFloating(): Promise\<boolean> 838 839检查应用是否能够以悬浮窗形式显示。使用Promise异步回调(暂不支持)。 840 841**系统能力**:SystemCapability.Applications.Settings.Core 842 843**返回值**: 844 845| 类型 | 说明 | 846| ----------------- | ------------------------------------------------------------ | 847| Promise\<boolean> | Promise对象。<br/>返回true,表示应用能够以悬浮窗形式显示。返回false,表示不能。 | 848 849**示例**: 850 851```js 852settings.canShowFloating().then((status:boolean) => { 853 console.log('Checks whether a specified application can show as float window.'); 854}); 855``` 856 857## settings.getUriSync<sup>8+</sup> 858 859getUriSync(name: string): string 860 861获取数据项的URI(暂不支持)。 862 863**系统能力**:SystemCapability.Applications.Settings.Core 864 865**参数**: 866 867| 参数名 | 类型 | 必填 | 说明 | 868| ------ | ------ | ---- |---------------------------------------------------------------| 869| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 870 871**返回值**: 872 873| 类型 | 说明 | 874| ------ | ------------- | 875| string | 数据项的URI。 | 876 877**示例**: 878 879```js 880// 获取数据项的URI。 881let uriVar:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 882``` 883 884## settings.getURI<sup>(deprecated)</sup> 885 886getURI(name: string, callback: AsyncCallback\<object>): void 887 888获取数据项的URI。使用callback异步回调(暂不支持)。 889 890> **说明:** 891> 892> 从 API version 7开始支持,从API version 9开始废弃,此接口不再提供代替接口。 893 894**系统能力**:SystemCapability.Applications.Settings.Core 895 896**参数**: 897 898| 参数名 | 类型 | 必填 | 说明 | 899| -------- | ---------------------- | ---- |---------------------------------------------------------------| 900| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 901| callback | AsyncCallback\<object> | 是 | 回调函数。获取数据项的URI。 | 902 903**示例**: 904 905```js 906settings.getURI(settings.display.SCREEN_BRIGHTNESS_STATUS, (uri:string) => { 907 console.log(`callback:uri -> ${JSON.stringify(uri)}`) 908}) 909``` 910 911## settings.getURI<sup>(deprecated)</sup> 912 913getURI(name: string): Promise\<object> 914 915获取数据项的URI。使用Promise异步回调(暂不支持)。 916 917> **说明:** 918> 919> 从 API version 7开始支持,从API version 9开始废弃,此接口不再提供代替接口。 920 921**系统能力**:SystemCapability.Applications.Settings.Core 922 923**参数**: 924 925| 参数名 | 类型 | 必填 | 说明 | 926| ------ | ------ | ---- |---------------------------------------------------------------| 927| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 928 929**返回值**: 930 931| 类型 | 说明 | 932| ---------------- | ------------------------------------ | 933| Promise\<object> | Promise对象。返回获取的数据项的URI。 | 934 935**示例**: 936 937```js 938settings.getURI(settings.display.SCREEN_BRIGHTNESS_STATUS).then((uri:string) => { 939 console.log(`promise:uri -> ${JSON.stringify(uri)}`) 940}) 941``` 942 943 944 945## settings.getValue<sup>(deprecated)</sup> 946 947getValue(dataAbilityHelper: DataAbilityHelper, name: string, callback: AsyncCallback\<object>): void 948 949获取数据库中DEVICE_SHARD域指定数据项的值。使用callback异步回调。 950 951> **说明:** 952> 953> 从 API version 7开始支持,从API version 9开始废弃,建议使用[getValue()](#settingsgetvalue10)替代。 954 955**模型约束**:此接口仅可在FA模型下使用。 956 957**系统能力**:SystemCapability.Applications.Settings.Core 958 959**参数**: 960 961| 参数名 | 类型 | 必填 | 说明 | 962| ----------------- | ------------------------------------------------------------ | ---- |---------------------------------------------------------------| 963| dataAbilityHelper | [DataAbilityHelper](../apis-ability-kit/js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 964| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 965| callback | AsyncCallback\<object> | 是 | 使用callback方式获取数据项的值。 | 966 967**示例**: 968 969```js 970import featureAbility from '@ohos.ability.featureAbility'; 971 972let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 973let helper = featureAbility.acquireDataAbilityHelper(uri); 974settings.getValue(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, (err:Error, value:string) => { 975 if (err) { 976 console.error(`Failed to get the setting. ${err.message} `); 977 return; 978 } 979 console.log(`callback:value -> ${JSON.stringify(value)}`) 980}); 981``` 982 983## settings.getValue<sup>(deprecated)</sup> 984 985getValue(dataAbilityHelper: DataAbilityHelper, name: string): Promise\<object> 986 987获取数据库中DEVICE_SHARD域指定数据项的值。使用Promise异步回调。 988 989> **说明:** 990> 991> 从 API version 7开始支持,从API version 9开始废弃,建议使用[getValue()](#settingsgetvalue10-1)替代。 992 993**模型约束**:此接口仅可在FA模型下使用。 994 995**系统能力**:SystemCapability.Applications.Settings.Core 996 997**参数**: 998 999| 参数名 | 类型 | 必填 | 说明 | 1000| ----------------- | ------------------------------------------------------------ | ---- |---------------------------------------------------------------| 1001| dataAbilityHelper | [DataAbilityHelper](../apis-ability-kit/js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 1002| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 1003 1004**返回值**: 1005 1006| 类型 | 说明 | 1007| ---------------- |-----------------------| 1008| Promise\<object> | Promise对象。返回获取的数据项的值。 | 1009 1010**示例**: 1011 1012```js 1013import featureAbility from '@ohos.ability.featureAbility'; 1014 1015let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 1016let helper = featureAbility.acquireDataAbilityHelper(uri); 1017settings.getValue(helper, settings.display.SCREEN_BRIGHTNESS_STATUS).then((value:string) => { 1018 console.log(`promise:value -> ${JSON.stringify(value)}`) 1019}); 1020``` 1021 1022## settings.getValueSync<sup>(deprecated)</sup> 1023 1024getValueSync(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string 1025 1026获取数据项的值。此方法相较getValue为同步方法。 1027 1028> **说明:** 1029> 1030> 从 API version 8开始支持,从API version 9开始废弃,建议使用[getValueSync()](#settingsgetvaluesync10)替代。 1031 1032**模型约束**:此接口仅可在FA模型下使用。 1033 1034**系统能力**:SystemCapability.Applications.Settings.Core 1035 1036**参数**: 1037 1038| 参数名 | 类型 | 必填 | 说明 | 1039| ----------------- | ------------------------------------------------------------ | ---- |--------------------------------------------------------------| 1040| dataAbilityHelper | [DataAbilityHelper](../apis-ability-kit/js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 1041| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 1042| defValue | string | 是 | 默认值。由开发者设置,在数据库中查询不到该数据时,返回默认值。 | 1043 1044**返回值**: 1045 1046| 类型 | 说明 | 1047| ------ | ---------------- | 1048| string | 返回数据项的值。 | 1049 1050**示例**: 1051 1052```js 1053import featureAbility from '@ohos.ability.featureAbility'; 1054 1055// 获取数据项亮度的值(该数据项在数据库中已存在)。 1056let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 1057let helper = featureAbility.acquireDataAbilityHelper(uri); 1058let value:string = settings.getValueSync(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, '10'); 1059``` 1060 1061## settings.setValueSync<sup>(deprecated)</sup> 1062 1063setValueSync(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean 1064 1065设置数据项的值。此方法相较setValue为同步方法。 1066 1067- 如果数据库中已经存在该数据项,setValueSync方法将更新该数据项的值。 1068- 如果数据库中不存在该数据项,setValueSync方法将向数据库中插入该数据项。 1069 1070> **说明:** 1071> 1072> 从 API version 8开始支持,从API version 9开始废弃,建议使用[setValueSync()](#settingssetvaluesync10)替代。 1073 1074**模型约束**:此接口仅可在FA模型下使用。 1075 1076**需要权限**:ohos.permission.MANAGE_SETTINGS,该权限仅系统应用可用。 1077 1078**系统能力**:SystemCapability.Applications.Settings.Core 1079 1080**参数**: 1081 1082| 参数名 | 类型 | 必填 | 说明 | 1083| ----------------- | ------------------------------------------------------------ | ---- |---------------------------------------------------------------| 1084| dataAbilityHelper | [DataAbilityHelper](../apis-ability-kit/js-apis-inner-ability-dataAbilityHelper.md) | 是 | 数据管理辅助类。 | 1085| name | string | 是 | 数据项的名称。数据项名称分为以下两种:<br>- 上述任意一个数据库中已存在的数据项。<br>- 开发者自行添加的数据项。 | 1086| value | string | 是 | 数据项的具体数值。取值范围随业务变动。 | 1087 1088**返回值**: 1089 1090| 类型 | 说明 | 1091| ------- | ------------------------------------------------------------ | 1092| boolean | 返回设置数据项的值是否成功的结果。true表示设置成功,false表示设置失败。 | 1093 1094**示例**: 1095 1096```js 1097import featureAbility from '@ohos.ability.featureAbility'; 1098 1099// 更新数据项亮度的值(该数据项在数据库中已存在,故setValueSync方法将更新该数据项的值)。 1100let uri:string = settings.getUriSync(settings.display.SCREEN_BRIGHTNESS_STATUS); 1101let helper = featureAbility.acquireDataAbilityHelper(uri); 1102let ret:string = settings.setValueSync(helper, settings.display.SCREEN_BRIGHTNESS_STATUS, '100'); 1103```