W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類定義了表征終端設(shè)備狀態(tài)的相關(guān)字段,如屏幕亮度、日期格式、字體顯示大小等,應(yīng)用程序可以根據(jù)自身所擁有的權(quán)限對其進(jìn)行增、刪、改、查等操作,并進(jìn)行相應(yīng)的場景適配。
例如:TIME_FORMAT——表示日期格式,應(yīng)用程序可進(jìn)行讀寫。
圖1 數(shù)據(jù)表更新過程
SystemSettings 提供系統(tǒng)設(shè)置的相關(guān)接口,包括 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類字段的存儲和檢索接口。應(yīng)用程序通過 AppSettings 類提供的方法對其自身的能力進(jìn)行查詢。
接口名 | 描述 |
---|---|
canShowOverlays(Context context) | 檢查指定應(yīng)用程序是否可以顯示在其他應(yīng)用之上。 |
checkSetPermission(Context context) | 通過應(yīng)用上下文檢查指定的應(yīng)用是否具有修改系統(tǒng)設(shè)置的權(quán)限。 |
接口名 | 描述 |
---|---|
getUri(String name) | 為特定的字段構(gòu)造URI,用于DataAbility的數(shù)據(jù)監(jiān)視。 |
getValue(DataAbilityHelper dataAbilityHelper, String name) | 獲取指定字段的值。 |
setValue(DataAbilityHelper dataAbilityHelper, String name, String value) | 設(shè)置指定字段的值。 |
字段名 | 字段描述 |
---|---|
DEFAULT_TTS_PITCH | 文本轉(zhuǎn)語音引擎的默認(rèn)音調(diào)。 |
DEFAULT_TTS_RATE | 文本轉(zhuǎn)語音引擎的默認(rèn)語速。 |
字段名 | 字段描述 |
---|---|
BLUETOOTH_STATUS | 藍(lán)牙開啟狀態(tài)。 |
WIFI_STATUS | WLAN是否啟用。 |
WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT | 從WLAN 斷開連接后等待建立移動數(shù)據(jù)連接時保持喚醒鎖的最長時間。 |
字段名 | 字段描述 |
---|---|
DATA_ROAMING_STATUS | 數(shù)據(jù)漫游開啟狀態(tài)。 |
NETWORK_PREFERENCE_USAGE | 設(shè)置用戶經(jīng)常使用的網(wǎng)絡(luò)。 |
字段名 | 字段描述 |
---|---|
DEFAULT_INPUT_METHOD | 設(shè)置默認(rèn)的輸入法,并記錄此輸入法的ID。 |
ACTIVATED_INPUT_METHODS | 已激活的輸入法列表。 |
AUTO_CAPS_TEXT_INPUT | 設(shè)置文本編輯器是否啟用自動大寫。 |
字段名 | 字段描述 |
---|---|
HAPTIC_FEEDBACK_STATUS | 設(shè)置是否開啟觸摸反饋。 |
VIBRATE_WHILE_RINGING | 設(shè)置來電響鈴時是否震動。 |
DEFAULT_NOTIFICATION_SOUND | 系統(tǒng)默認(rèn)通知鈴聲的存儲區(qū)。 |
字段名 | 字段描述 |
---|---|
FONT_SCALE | 設(shè)置字體大小因子。 |
SCREEN_BRIGHTNESS_STATUS | 設(shè)置屏幕亮度。 |
AUTO_SCREEN_BRIGHTNESS | 設(shè)置是否打開屏幕亮度自動調(diào)節(jié)模式。 |
SCREEN_OFF_TIMEOUT | 設(shè)置設(shè)備屏幕自動休眠時間。 |
字段名 | 字段描述 |
---|---|
DATE_FORMAT | 設(shè)置日期格式。 |
TIME_FORMAT | 設(shè)置以12或24小時制顯示時間。 |
AUTO_GAIN_TIME | 是否從網(wǎng)絡(luò)(NITZ)自動獲取日期,時間和時區(qū)的值。 |
AUTO_GAIN_TIME_ZONE | 是否從網(wǎng)絡(luò)(NITZ)自動獲取時區(qū)的值。 |
字段名 | 字段描述 |
---|---|
SETUP_WIZARD_FINISHED | 識別開機(jī)向?qū)欠褚呀?jīng)運(yùn)行過。 |
AIRPLANE_MODE_STATUS | 飛行模式是否開啟。 |
DEVICE_NAME | 設(shè)備名稱。 |
ACCESSIBILITY_STATUS | 設(shè)置輔助功能是否可用。 |
字段名 | 字段描述 |
---|---|
RTT_CALLING_STATUS | 設(shè)置來去電是否啟動RTT模式進(jìn)行應(yīng)答。 |
場景介紹
TTS、Wireless、Network、Input、Sound、Display、Date、Call、General九類定義了表征終端設(shè)備狀態(tài)的相關(guān)字段,如屏幕亮度、日期格式、字體顯示大小等,應(yīng)用程序可以根據(jù)自身所擁有的權(quán)限對其進(jìn)行增、刪、改、查等操作,并進(jìn)行相應(yīng)的場景適配。
例如:TIME_FORMAT——表示日期格式,應(yīng)用程序可進(jìn)行讀寫。
圖1 數(shù)據(jù)表更新過程
點(diǎn)擊放大
接口說明
SystemSettings 提供系統(tǒng)設(shè)置的相關(guān)接口,包括TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類字段的存儲和檢索接口。應(yīng)用程序通過 AppSettings 類提供的方法對其自身的能力進(jìn)行查詢。
表1 AppSettings的主要接口
接口名
描述
canShowOverlays(Context context)
檢查指定應(yīng)用程序是否可以顯示在其他應(yīng)用之上。
checkSetPermission(Context context)
通過應(yīng)用上下文檢查指定的應(yīng)用是否具有修改系統(tǒng)設(shè)置的權(quán)限。
表2 SystemSettings的主要接口
接口名
描述
getUri(String name)
為特定的字段構(gòu)造URI,用于DataAbility的數(shù)據(jù)監(jiān)視。
getValue(DataAbilityHelper dataAbilityHelper, String name)
獲取指定字段的值。
setValue(DataAbilityHelper dataAbilityHelper, String name, String value)
設(shè)置指定字段的值。
表3 SystemSettings.TTS提供的典型字段
字段名
字段描述
DEFAULT_TTS_PITCH
文本轉(zhuǎn)語音引擎的默認(rèn)音調(diào)。
DEFAULT_TTS_RATE
文本轉(zhuǎn)語音引擎的默認(rèn)語速。
表4 SystemSettings.Wireless提供的典型字段
字段名
字段描述
BLUETOOTH_STATUS
藍(lán)牙開啟狀態(tài)。
WIFI_STATUS
WLAN是否啟用。
WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT
從WLAN斷開連接后等待建立移動數(shù)據(jù)連接時保持喚醒鎖的最長時間。
表5 SystemSettings.Network提供的典型字段
字段名
字段描述
DATA_ROAMING_STATUS
數(shù)據(jù)漫游開啟狀態(tài)。
NETWORK_PREFERENCE_USAGE
設(shè)置用戶經(jīng)常使用的網(wǎng)絡(luò)。
表6 SystemSettings.Input提供的典型字段
字段名
字段描述
DEFAULT_INPUT_METHOD
設(shè)置默認(rèn)的輸入法,并記錄此輸入法的ID。
ACTIVATED_INPUT_METHODS
已激活的輸入法列表。
AUTO_CAPS_TEXT_INPUT
設(shè)置文本編輯器是否啟用自動大寫。
表7 SystemSettings.Sound提供的字段
字段名
字段描述
HAPTIC_FEEDBACK_STATUS
設(shè)置是否開啟觸摸反饋。
VIBRATE_WHILE_RINGING
設(shè)置來電響鈴時是否震動。
DEFAULT_NOTIFICATION_SOUND
系統(tǒng)默認(rèn)通知鈴聲的存儲區(qū)。
表8 SystemSettings.Display提供的典型字段
字段名
字段描述
FONT_SCALE
設(shè)置字體大小因子。
SCREEN_BRIGHTNESS_STATUS
設(shè)置屏幕亮度。
AUTO_SCREEN_BRIGHTNESS
設(shè)置是否打開屏幕亮度自動調(diào)節(jié)模式。
SCREEN_OFF_TIMEOUT
設(shè)置設(shè)備屏幕自動休眠時間。
表9 SystemSettings.Date提供的典型字段
字段名
字段描述
DATE_FORMAT
設(shè)置日期格式。
TIME_FORMAT
設(shè)置以12或24小時制顯示時間。
AUTO_GAIN_TIME
是否從網(wǎng)絡(luò)(NITZ)自動獲取日期,時間和時區(qū)的值。
AUTO_GAIN_TIME_ZONE
是否從網(wǎng)絡(luò)(NITZ)自動獲取時區(qū)的值。
表10 SystemSettings.General提供的典型字段
字段名
字段描述
SETUP_WIZARD_FINISHED
識別開機(jī)向?qū)欠褚呀?jīng)運(yùn)行過。
AIRPLANE_MODE_STATUS
飛行模式是否開啟。
DEVICE_NAME
設(shè)備名稱。
ACCESSIBILITY_STATUS
設(shè)置輔助功能是否可用。
表11 SystemSettings.Call提供的典型字段
字段名
字段描述
RTT_CALLING_STATUS
設(shè)置來去電是否啟動RTT模式進(jìn)行應(yīng)答。
開發(fā)步驟
應(yīng)用程序打開某個Slice時,在OnStart()時,注冊相關(guān)設(shè)置項(xiàng)的回調(diào),并讀取一次該設(shè)置項(xiàng)的值,進(jìn)行初始化適配。
@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()時,解除回調(diào)注冊。
dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: