場景介紹

創(chuàng)新互聯公司專注于企業(yè)全網營銷推廣、網站重做改版、隆昌網站定制設計、自適應品牌網站建設、HTML5、商城網站建設、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為隆昌等各大城市提供網站開發(fā)制作服務。
TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類定義了表征終端設備狀態(tài)的相關字段,如屏幕亮度、日期格式、字體顯示大小等,應用程序可以根據自身所擁有的權限對其進行增、刪、改、查等操作,并進行相應的場景適配。
例如:TIME_FORMAT——表示日期格式,應用程序可進行讀寫。
圖1 數據表更新過程
接口說明
SystemSettings 提供系統(tǒng)設置的相關接口,包括 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類字段的存儲和檢索接口。應用程序通過 AppSettings 類提供的方法對其自身的能力進行查詢。
| 接口名 |
描述 |
| canShowOverlays(Context context) | 檢查指定應用程序是否可以顯示在其他應用之上。 |
| checkSetPermission(Context context) | 通過應用上下文檢查指定的應用是否具有修改系統(tǒng)設置的權限。 |
| 接口名 |
描述 |
| getUri(String name) | 為特定的字段構造URI,用于DataAbility的數據監(jiān)視。 |
| getValue(DataAbilityHelper dataAbilityHelper, String name) | 獲取指定字段的值。 |
| setValue(DataAbilityHelper dataAbilityHelper, String name, String value) | 設置指定字段的值。 |
| 字段名 |
字段描述 |
| DEFAULT_TTS_PITCH | 文本轉語音引擎的默認音調。 |
| DEFAULT_TTS_RATE | 文本轉語音引擎的默認語速。 |
| 字段名 |
字段描述 |
| BLUETOOTH_STATUS | 藍牙開啟狀態(tài)。 |
| WIFI_STATUS | WLAN是否啟用。 |
| WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT | 從WLAN 斷開連接后等待建立移動數據連接時保持喚醒鎖的最長時間。 |
| 字段名 |
字段描述 |
| DATA_ROAMING_STATUS | 數據漫游開啟狀態(tài)。 |
| NETWORK_PREFERENCE_USAGE | 設置用戶經常使用的網絡。 |
| 字段名 |
字段描述 |
| DEFAULT_INPUT_METHOD | 設置默認的輸入法,并記錄此輸入法的ID。 |
| ACTIVATED_INPUT_METHODS | 已激活的輸入法列表。 |
| AUTO_CAPS_TEXT_INPUT | 設置文本編輯器是否啟用自動大寫。 |
| 字段名 |
字段描述 |
| HAPTIC_FEEDBACK_STATUS | 設置是否開啟觸摸反饋。 |
| VIBRATE_WHILE_RINGING | 設置來電響鈴時是否震動。 |
| DEFAULT_NOTIFICATION_SOUND | 系統(tǒng)默認通知鈴聲的存儲區(qū)。 |
| 字段名 |
字段描述 |
| FONT_SCALE | 設置字體大小因子。 |
| SCREEN_BRIGHTNESS_STATUS | 設置屏幕亮度。 |
| AUTO_SCREEN_BRIGHTNESS | 設置是否打開屏幕亮度自動調節(jié)模式。 |
| SCREEN_OFF_TIMEOUT | 設置設備屏幕自動休眠時間。 |
| 字段名 |
字段描述 |
| DATE_FORMAT | 設置日期格式。 |
| TIME_FORMAT | 設置以12或24小時制顯示時間。 |
| AUTO_GAIN_TIME | 是否從網絡(NITZ)自動獲取日期,時間和時區(qū)的值。 |
| AUTO_GAIN_TIME_ZONE | 是否從網絡(NITZ)自動獲取時區(qū)的值。 |
| 字段名 |
字段描述 |
| SETUP_WIZARD_FINISHED | 識別開機向導是否已經運行過。 |
| AIRPLANE_MODE_STATUS | 飛行模式是否開啟。 |
| DEVICE_NAME | 設備名稱。 |
| ACCESSIBILITY_STATUS | 設置輔助功能是否可用。 |
| 字段名 |
字段描述 |
| RTT_CALLING_STATUS | 設置來去電是否啟動RTT模式進行應答。 |
開發(fā)步驟
- 應用程序打開某個 Slice 時,在 OnStart()時,注冊相關設置項的回調,并讀取一次該設置項的值,進行初始化適配。
場景介紹
TTS、Wireless、Network、Input、Sound、Display、Date、Call、General九類定義了表征終端設備狀態(tài)的相關字段,如屏幕亮度、日期格式、字體顯示大小等,應用程序可以根據自身所擁有的權限對其進行增、刪、改、查等操作,并進行相應的場景適配。
例如:TIME_FORMAT——表示日期格式,應用程序可進行讀寫。
圖1 數據表更新過程
點擊放大
接口說明
SystemSettings 提供系統(tǒng)設置的相關接口,包括TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類字段的存儲和檢索接口。應用程序通過 AppSettings 類提供的方法對其自身的能力進行查詢。
表1 AppSettings的主要接口
接口名
描述
canShowOverlays(Context context)
檢查指定應用程序是否可以顯示在其他應用之上。
checkSetPermission(Context context)
通過應用上下文檢查指定的應用是否具有修改系統(tǒng)設置的權限。
表2 SystemSettings的主要接口
接口名
描述
getUri(String name)
為特定的字段構造URI,用于DataAbility的數據監(jiān)視。
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
藍牙開啟狀態(tài)。
WIFI_STATUS
WLAN是否啟用。
WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT
從WLAN斷開連接后等待建立移動數據連接時保持喚醒鎖的最長時間。
表5 SystemSettings.Network提供的典型字段
字段名
字段描述
DATA_ROAMING_STATUS
數據漫游開啟狀態(tài)。
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
系統(tǒng)默認通知鈴聲的存儲區(qū)。
表8 SystemSettings.Display提供的典型字段
字段名
字段描述
FONT_SCALE
設置字體大小因子。
SCREEN_BRIGHTNESS_STATUS
設置屏幕亮度。
AUTO_SCREEN_BRIGHTNESS
設置是否打開屏幕亮度自動調節(jié)模式。
SCREEN_OFF_TIMEOUT
設置設備屏幕自動休眠時間。
表9 SystemSettings.Date提供的典型字段
字段名
字段描述
DATE_FORMAT
設置日期格式。
TIME_FORMAT
設置以12或24小時制顯示時間。
AUTO_GAIN_TIME
是否從網絡(NITZ)自動獲取日期,時間和時區(qū)的值。
AUTO_GAIN_TIME_ZONE
是否從網絡(NITZ)自動獲取時區(qū)的值。
表10 SystemSettings.General提供的典型字段
字段名
字段描述
SETUP_WIZARD_FINISHED
識別開機向導是否已經運行過。
AIRPLANE_MODE_STATUS
飛行模式是否開啟。
DEVICE_NAME
設備名稱。
ACCESSIBILITY_STATUS
設置輔助功能是否可用。
表11 SystemSettings.Call提供的典型字段
字段名
字段描述
RTT_CALLING_STATUS
設置來去電是否啟動RTT模式進行應答。
開發(fā)步驟
應用程序打開某個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);
- 在 onStop() 時,解除回調注冊。
dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
網站標題:創(chuàng)新互聯鴻蒙OS教程:鴻蒙OS開發(fā)指導
文章起源:
http://www.fisionsoft.com.cn/article/copcgse.html