树叶云鸿蒙OS教程:鸿蒙OS 开发指导

场景介绍

TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九类定义了表征终端设备状态的相关字段,如屏幕亮度、日期格式、字体显示大小等,应用程序可以根据自身所拥有的权限对其进行增、删、改、查等操作,并进行相应的场景适配。

例如:TIME_FORMAT——表示日期格式,应用程序可进行读写。

图1 数据表更新过程

接口说明

SystemSettings 提供系统设置的相关接口,包括 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九类字段的存储和检索接口。应用程序通过 AppSettings 类提供的方法对其自身的能力进行查询。

接口名描述
canShowOverlays(Context context)检查指定应用程序是否可以显示在其他应用之上。
checkSetPermission(Context context)通过应用上下文检查指定的应用是否具有修改系统设置的权限。
接口名描述
getUri(String name)为特定的字段构造URI,用于DataAbility的数据监视。
getValue(DataAbilityHelper dataAbilityHelper, String name)获取指定字段的值。
setValue(DataAbilityHelper dataAbilityHelper, String name, String value)设置指定字段的值。
字段名字段描述
DEFAULT_TTS_PITCH文本转语音引擎的默认音调。
DEFAULT_TTS_RATE文本转语音引擎的默认语速。
字段名字段描述
BLUETOOTH_STATUS蓝牙开启状态。
WIFI_STATUSWLAN是否启用。
WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT从WLAN 断开连接后等待建立移动数据连接时保持唤醒锁的最长时间。
字段名字段描述
DATA_ROAMING_STATUS数据漫游开启状态。
NETWORK_PREFERENCE_USAGE设置用户经常使用的网络。
字段名字段描述
DEFAULT_INPUT_METHOD设置默认的输入法,并记录此输入法的ID。
ACTIVATED_INPUT_METHODS已激活的输入法列表。
AUTO_CAPS_TEXT_INPUT设置文本编辑器是否启用自动大写。
字段名字段描述
HAPTIC_FEEDBACK_STATUS设置是否开启触摸反馈。
VIBRATE_WHILE_RINGING设置来电响铃时是否震动。
DEFAULT_NOTIFICATION_SOUND系统默认通知铃声的存储区。
字段名字段描述
FONT_SCALE设置字体大小因子。
SCREEN_BRIGHTNESS_STATUS设置屏幕亮度。
AUTO_SCREEN_BRIGHTNESS设置是否打开屏幕亮度自动调节模式。
SCREEN_OFF_TIMEOUT设置设备屏幕自动休眠时间。
字段名字段描述
DATE_FORMAT设置日期格式。
TIME_FORMAT设置以12或24小时制显示时间。
AUTO_GAIN_TIME是否从网络(NITZ)自动获取日期,时间和时区的值。
AUTO_GAIN_TIME_ZONE是否从网络(NITZ)自动获取时区的值。
字段名字段描述
SETUP_WIZARD_FINISHED识别开机向导是否已经运行过。
AIRPLANE_MODE_STATUS飞行模式是否开启。
DEVICE_NAME设备名称。
ACCESSIBILITY_STATUS设置辅助功能是否可用。
字段名字段描述
RTT_CALLING_STATUS设置来去电是否启动RTT模式进行应答。

开发步骤

  1. 应用程序打开某个 Slice 时,在 OnStart()时,注册相关设置项的回调,并读取一次该设置项的值,进行初始化适配。
   场景介绍
   TTS、Wireless、Network、Input、Sound、Display、Date、Call、General九类定义了表征终端设备状态的相关字段,如屏幕亮度、日期格式、字体显示大小等,应用程序可以根据自身所拥有的权限对其进行增、删、改、查等操作,并进行相应的场景适配。

   
   例如:TIME_FORMAT——表示日期格式,应用程序可进行读写。

   
   图1 数据表更新过程
   点击放大

   
   接口说明
   SystemSettings 提供系统设置的相关接口,包括TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九类字段的存储和检索接口。应用程序通过 AppSettings 类提供的方法对其自身的能力进行查询。

   
   表1 AppSettings的主要接口
   接口名

   
   描述

   
   canShowOverlays(Context context)

   
   检查指定应用程序是否可以显示在其他应用之上。

   
   checkSetPermission(Context context)

   
   通过应用上下文检查指定的应用是否具有修改系统设置的权限。

   
   表2 SystemSettings的主要接口
   接口名

   
   描述

   
   getUri(String name)

   
   为特定的字段构造URI,用于DataAbility的数据监视。

   
   getValue(DataAbilityHelper dataAbilityHelper, String name)

   
   获取指定字段的值。

   
   setValue(DataAbilityHelper dataAbilityHelper, String name, String value)

   
   设置指定字段的值。

   
   表3 SystemSettings.TTS提供的典型字段
   字段名

   
   字段描述

   
   DEFAULT_TTS_PITCH

   
   文本转语音引擎的默认音调。

   
   DEFAULT_TTS_RATE

   
   文本转语音引擎的默认语速。

   
   表4 SystemSettings.Wireless提供的典型字段
   字段名

   
   字段描述

   
   BLUETOOTH_STATUS

   
   蓝牙开启状态。

   
   WIFI_STATUS

   
   WLAN是否启用。

   
   WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT

   
   从WLAN断开连接后等待建立移动数据连接时保持唤醒锁的最长时间。

   
   表5 SystemSettings.Network提供的典型字段
   字段名

   
   字段描述

   
   DATA_ROAMING_STATUS

   
   数据漫游开启状态。

   
   NETWORK_PREFERENCE_USAGE

   
   设置用户经常使用的网络。

   
   表6 SystemSettings.Input提供的典型字段
   字段名

   
   字段描述

   
   DEFAULT_INPUT_METHOD

   
   设置默认的输入法,并记录此输入法的ID。

   
   ACTIVATED_INPUT_METHODS

   
   已激活的输入法列表。

   
   AUTO_CAPS_TEXT_INPUT

   
   设置文本编辑器是否启用自动大写。

   
   表7 SystemSettings.Sound提供的字段
   字段名

   
   字段描述

   
   HAPTIC_FEEDBACK_STATUS

   
   设置是否开启触摸反馈。

   
   VIBRATE_WHILE_RINGING

   
   设置来电响铃时是否震动。

   
   DEFAULT_NOTIFICATION_SOUND

   
   系统默认通知铃声的存储区。

   
   表8 SystemSettings.Display提供的典型字段
   字段名

   
   字段描述

   
   FONT_SCALE

   
   设置字体大小因子。

   
   SCREEN_BRIGHTNESS_STATUS

   
   设置屏幕亮度。

   
   AUTO_SCREEN_BRIGHTNESS

   
   设置是否打开屏幕亮度自动调节模式。

   
   SCREEN_OFF_TIMEOUT

   
   设置设备屏幕自动休眠时间。

   
   表9 SystemSettings.Date提供的典型字段
   字段名

   
   字段描述

   
   DATE_FORMAT

   
   设置日期格式。

   
   TIME_FORMAT

   
   设置以12或24小时制显示时间。

   
   AUTO_GAIN_TIME

   
   是否从网络(NITZ)自动获取日期,时间和时区的值。

   
   AUTO_GAIN_TIME_ZONE

   
   是否从网络(NITZ)自动获取时区的值。

   
   表10 SystemSettings.General提供的典型字段
   字段名

   
   字段描述

   
   SETUP_WIZARD_FINISHED

   
   识别开机向导是否已经运行过。

   
   AIRPLANE_MODE_STATUS

   
   飞行模式是否开启。

   
   DEVICE_NAME

   
   设备名称。

   
   ACCESSIBILITY_STATUS

   
   设置辅助功能是否可用。

   
   表11 SystemSettings.Call提供的典型字段
   字段名

   
   字段描述

   
   RTT_CALLING_STATUS

   
   设置来去电是否启动RTT模式进行应答。

   
   开发步骤
   应用程序打开某个Slice时,在OnStart()时,注册相关设置项的回调,并读取一次该设置项的值,进行初始化适配。
   @Override
   public void onStart(Intent intent) {
       // ...
       dataAbilityHelper = DataAbilityHelper.creator(this);
       IDataAbilityObserver dataAbilityObserver = new IDataAbilityObserver() {
           @Override    
           public void onChange() {
               String timeFormat = SystemSettings.getValue(dataAbilityHelper, SystemSettings.Date.TIME_FORMAT);
               setTimeFormat(timeFormat);
           }
       };
       dataAbilityHelper.registerObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
   }

    
   void setTimeFormat(String timeFormat) {
       if ("12".equals(timeFormat)) {        
           // Display in 12-hour format
       } else {
           // Display in 24-hour format
       }
   }
   在 onStop()时,解除回调注册。
   dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);

  1. 在 onStop() 时,解除回调注册。
   dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/172639.html<

(0)
管理的头像管理
上一篇2025-03-23 10:12
下一篇 2025-03-23 10:14

相关推荐

  • 如何拦截ByteSpider爬虫不影响收录,有哪些技巧?

    正确配置robots.txt和服务器User-Agent识别,即可精准拦截ByteSpider爬虫,同时确保百度爬虫正常抓取,不影响收录,理解ByteSpider爬虫:它是什么,为何要拦截ByteSpider是字节跳动旗下的网页爬虫,主要用于采集网页内容,服务于头条搜索、抖音搜索等产品,大多数情况下,我们欢迎爬……

    2026-07-27
    0
  • 服务器流量异常时怎么排查是不是被攻击,是什么原因?

    当服务器流量异常时,首先通过带宽监控、连接数分析和异常流量特征判断是否被攻击,然后采取相应处置措施,识别流量异常的常见信号你可能会遇到这种情况:某天服务器突然响应变慢,或者网站打不开,甚至远程连接都被中断,流量异常通常会在几个方面暴露出来,早期发现能减少损失,带宽占用飙升使用 sar -n DEV 1 5 或……

    2026-07-27
    0
  • 国内访问美国服务器太慢怎么办,为什么访问速度慢

    优化国内访问美国服务器速度,核心在于组合使用CDN边缘节点缓存、优质国际线路(如CN2 GIA)和TCP协议层优化,同时选择具备持牌自营机房和跨境网络资质的专业服务商,为什么国内访问美国服务器延迟居高不下物理距离是首要因素,中美海底光缆总长约1.3万公里,信号往返至少需要120毫秒,但实际延迟往往超过200毫秒……

    2026-07-27
    0
  • 服务器域名解析失败怎么排查,是什么原因造成的?

    服务器域名解析失败的根本原因在于DNS系统无法将域名正确转换为IP地址,排查应遵循从客户端到服务端的顺序:先检查本地网络和DNS缓存,再验证域名解析记录和权威服务器状态,第一步:检查本地网络与DNS设置测试网络连通性先确认你的设备是否正常联网,打开命令提示符或终端,输入ping 8.8.8.8,如果返回回复数据……

    2026-07-27
    0
  • 站群服务器怎么设置不同环境配置,有哪些注意事项?

    站群服务器设置不同的环境配置,核心在于通过虚拟化或容器化技术实现站点隔离,再结合Web服务器配置为每个站点分配独立的PHP版本、数据库及运行参数,从而满足多样化需求,为什么站群服务器需要环境隔离?不同CMS依赖的PHP版本差异明显,例如WordPress推荐PHP 7.4以上,而Drupal 7仍基于PHP 5……

    2026-07-27
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注