生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之系统设置项的查询和使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、基本概念
- 應用程序可以對系統各類設置項進行查詢,例如,三方應用提前注冊飛行模式設置項的回調。當用戶通過系統設置修改終端的飛行模式狀態時,三方應用會檢測到此設置項發生變化并進行適配,如檢測到飛行模式開啟,將進入離線狀態;檢測到飛行模式關閉,其將重新獲取在線數據。
- 系統設置數據項分為 TTS(Text To Speech)、Wireless、Network、Input、Sound、Display、Date、Call、General 九類,應用程序可以根據自身擁有的權限對其進行操作。
- TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類定義了表征終端設備狀態的相關字段,如屏幕亮度、日期格式、字體顯示大小等,應用程序可以對其進行查詢,并進行相應的場景適配。
二、API
- SystemSettings 提供系統設置的相關接口,包括 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類字段的存儲和檢索接口,應用程序通過 AppSettings 類提供的方法對其自身的能力進行查詢。
- SystemSettings 的主要接口:
接口名描述
| getUri(String name) | 為特定的字段構造URI,用于DataAbility的數據監視 |
| getValue(DataAbilityHelper dataAbilityHelper, String name) | 獲取指定字段的值 |
- SystemSettings.TTS 提供的典型字段:
字段名字段描述
| DEFAULT_TTS_PITCH | 文本轉語音引擎的默認音調 |
| DEFAULT_TTS_RATE | 文本轉語音引擎的默認語速 |
- SystemSettings.Wireless 提供的典型字段:
字段名字段描述
| BLUETOOTH_STATUS | 藍牙開啟狀態 |
| WIFI_STATUS | WLAN是否啟用 |
| WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT | 從WLAN斷開連接后等待建立移動數據連接時保持喚醒鎖的最長時間 |
- SystemSettings.Network 提供的典型字段:
字段名字段描述
| DATA_ROAMING_STATUS | 數據漫游開啟狀態 |
| NETWORK_PREFERENCE_USAGE | 設置用戶經常使用的網絡 |
- SystemSettings.Input 提供的典型字段:
字段名字段描述
| DEFAULT_INPUT_METHOD | 設置默認的輸入法,并記錄此輸入法的ID |
| ACTIVATED_INPUT_METHODS | 已激活的輸入法列表 |
| AUTO_CAPS_TEXT_INPUT | 設置文本編輯器是否啟用自動大寫 |
- SystemSettings.Sound 提供的字段:
字段名字段描述
| HAPTIC_FEEDBACK_STATUS | 設置是否開啟觸摸反饋 |
| VIBRATE_WHILE_RINGING | 設置來電響鈴時是否震動 |
| DEFAULT_NOTIFICATION_SOUND | 系統默認通知鈴聲的存儲區 |
- SystemSettings.Display 提供的典型字段:
字段名字段描述
| FONT_SCALE | 設置字體大小因子 |
| SCREEN_BRIGHTNESS_STATUS | 設置屏幕亮度 |
| AUTO_SCREEN_BRIGHTNESS | 設置是否打開屏幕亮度自動調節模式 |
| SCREEN_OFF_TIMEOUT | 設置設備屏幕自動休眠時間 |
- SystemSettings.Date 提供的典型字段:
字段名字段描述
| DATE_FORMAT | 設置日期格式 |
| TIME_FORMAT | 設置以12或24小時制顯示時間 |
| AUTO_GAIN_TIME | 是否從網絡(NITZ)自動獲取日期,時間和時區的值 |
| AUTO_GAIN_TIME_ZONE | 是否從網絡(NITZ)自動獲取時區的值 |
- SystemSettings.General 提供的典型字段:
字段名字段描述
| SETUP_WIZARD_FINISHED | 識別開機向導是否已經運行過 |
| AIRPLANE_MODE_STATUS | 飛行模式是否開啟 |
| DEVICE_NAME | 設備名稱 |
| ACCESSIBILITY_STATUS | 設置輔助功能是否可用 |
- SystemSettings.Call 提供的典型字段:
字段名字段描述
| RTT_CALLING_STATUS | 設置來去電是否啟動RTT模式進行應答 |
三、使用流程
- 應用程序打開某個 Slice 時,在 OnStart() 時,注冊相關設置項的回調,并讀取一次該設置項的值,進行初始化適配。
@Overridepublic
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
) {String timeStr
= "12";if (timeStr
.equals(timeFormat
)) { } else {}}
dataAbilityHelper
.unregisterObserver(SystemSettings
.getUri(SystemSettings
.Date
.TIME_FORMAT
), dataAbilityObserver
);
總結
以上是生活随笔為你收集整理的HarmonyOS之系统设置项的查询和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。