鴻蒙OS 開(kāi)發(fā)指導(dǎo)

2020-09-18 15:58 更新

場(chǎng)景介紹

TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類(lèi)定義了表征終端設(shè)備狀態(tài)的相關(guān)字段,如屏幕亮度、日期格式、字體顯示大小等,應(yīng)用程序可以根據(jù)自身所擁有的權(quán)限對(duì)其進(jìn)行增、刪、改、查等操作,并進(jìn)行相應(yīng)的場(chǎng)景適配。

例如:TIME_FORMAT——表示日期格式,應(yīng)用程序可進(jìn)行讀寫(xiě)。

圖1 數(shù)據(jù)表更新過(guò)程

點(diǎn)擊放大

接口說(shuō)明

SystemSettings 提供系統(tǒng)設(shè)置的相關(guān)接口,包括 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九類(lèi)字段的存儲(chǔ)和檢索接口。應(yīng)用程序通過(guò) AppSettings 類(lèi)提供的方法對(duì)其自身的能力進(jìn)行查詢(xún)。

接口名 描述
canShowOverlays(Context context) 檢查指定應(yīng)用程序是否可以顯示在其他應(yīng)用之上。
checkSetPermission(Context context) 通過(guò)應(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)語(yǔ)音引擎的默認(rèn)音調(diào)。
DEFAULT_TTS_RATE 文本轉(zhuǎn)語(yǔ)音引擎的默認(rèn)語(yǔ)速。
字段名 字段描述
BLUETOOTH_STATUS 藍(lán)牙開(kāi)啟狀態(tài)。
WIFI_STATUS WLAN是否啟用。
WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT 從WLAN 斷開(kāi)連接后等待建立移動(dòng)數(shù)據(jù)連接時(shí)保持喚醒鎖的最長(zhǎng)時(shí)間。
字段名 字段描述
DATA_ROAMING_STATUS 數(shù)據(jù)漫游開(kāi)啟狀態(tài)。
NETWORK_PREFERENCE_USAGE 設(shè)置用戶(hù)經(jīng)常使用的網(wǎng)絡(luò)。
字段名 字段描述
DEFAULT_INPUT_METHOD 設(shè)置默認(rèn)的輸入法,并記錄此輸入法的ID。
ACTIVATED_INPUT_METHODS 已激活的輸入法列表。
AUTO_CAPS_TEXT_INPUT 設(shè)置文本編輯器是否啟用自動(dòng)大寫(xiě)。
字段名 字段描述
HAPTIC_FEEDBACK_STATUS 設(shè)置是否開(kāi)啟觸摸反饋。
VIBRATE_WHILE_RINGING 設(shè)置來(lái)電響鈴時(shí)是否震動(dòng)。
DEFAULT_NOTIFICATION_SOUND 系統(tǒng)默認(rèn)通知鈴聲的存儲(chǔ)區(qū)。
字段名 字段描述
FONT_SCALE 設(shè)置字體大小因子。
SCREEN_BRIGHTNESS_STATUS 設(shè)置屏幕亮度。
AUTO_SCREEN_BRIGHTNESS 設(shè)置是否打開(kāi)屏幕亮度自動(dòng)調(diào)節(jié)模式。
SCREEN_OFF_TIMEOUT 設(shè)置設(shè)備屏幕自動(dòng)休眠時(shí)間。
字段名 字段描述
DATE_FORMAT 設(shè)置日期格式。
TIME_FORMAT 設(shè)置以12或24小時(shí)制顯示時(shí)間。
AUTO_GAIN_TIME 是否從網(wǎng)絡(luò)(NITZ)自動(dòng)獲取日期,時(shí)間和時(shí)區(qū)的值。
AUTO_GAIN_TIME_ZONE 是否從網(wǎng)絡(luò)(NITZ)自動(dòng)獲取時(shí)區(qū)的值。
字段名 字段描述
SETUP_WIZARD_FINISHED 識(shí)別開(kāi)機(jī)向?qū)欠褚呀?jīng)運(yùn)行過(guò)。
AIRPLANE_MODE_STATUS 飛行模式是否開(kāi)啟。
DEVICE_NAME 設(shè)備名稱(chēng)。
ACCESSIBILITY_STATUS 設(shè)置輔助功能是否可用。
字段名 字段描述
RTT_CALLING_STATUS 設(shè)置來(lái)去電是否啟動(dòng)RTT模式進(jìn)行應(yīng)答。

開(kāi)發(fā)步驟

  1. 應(yīng)用程序打開(kāi)某個(gè) Slice 時(shí),在 OnStart()時(shí),注冊(cè)相關(guān)設(shè)置項(xiàng)的回調(diào),并讀取一次該設(shè)置項(xiàng)的值,進(jìn)行初始化適配。

  1. 場(chǎng)景介紹
  2. TTSWireless、NetworkInput、SoundDisplay、Date、Call、General九類(lèi)定義了表征終端設(shè)備狀態(tài)的相關(guān)字段,如屏幕亮度、日期格式、字體顯示大小等,應(yīng)用程序可以根據(jù)自身所擁有的權(quán)限對(duì)其進(jìn)行增、刪、改、查等操作,并進(jìn)行相應(yīng)的場(chǎng)景適配。
  3. 例如:TIME_FORMAT——表示日期格式,應(yīng)用程序可進(jìn)行讀寫(xiě)。
  4. 1 數(shù)據(jù)表更新過(guò)程
  5. 點(diǎn)擊放大
  6. 接口說(shuō)明
  7. SystemSettings 提供系統(tǒng)設(shè)置的相關(guān)接口,包括TTS、Wireless、NetworkInput、Sound、Display、DateCall、General 九類(lèi)字段的存儲(chǔ)和檢索接口。應(yīng)用程序通過(guò) AppSettings 類(lèi)提供的方法對(duì)其自身的能力進(jìn)行查詢(xún)。
  8. 1 AppSettings的主要接口
  9. 接口名
  10. 描述
  11. canShowOverlays(Context context)
  12. 檢查指定應(yīng)用程序是否可以顯示在其他應(yīng)用之上。
  13. checkSetPermission(Context context)
  14. 通過(guò)應(yīng)用上下文檢查指定的應(yīng)用是否具有修改系統(tǒng)設(shè)置的權(quán)限。
  15. 2 SystemSettings的主要接口
  16. 接口名
  17. 描述
  18. getUri(String name)
  19. 為特定的字段構(gòu)造URI,用于DataAbility的數(shù)據(jù)監(jiān)視。
  20. getValue(DataAbilityHelper dataAbilityHelper, String name)
  21. 獲取指定字段的值。
  22. setValue(DataAbilityHelper dataAbilityHelper, String name, String value)
  23. 設(shè)置指定字段的值。
  24. 3 SystemSettings.TTS提供的典型字段
  25. 字段名
  26. 字段描述
  27. DEFAULT_TTS_PITCH
  28. 文本轉(zhuǎn)語(yǔ)音引擎的默認(rèn)音調(diào)。
  29. DEFAULT_TTS_RATE
  30. 文本轉(zhuǎn)語(yǔ)音引擎的默認(rèn)語(yǔ)速。
  31. 4 SystemSettings.Wireless提供的典型字段
  32. 字段名
  33. 字段描述
  34. BLUETOOTH_STATUS
  35. 藍(lán)牙開(kāi)啟狀態(tài)。
  36. WIFI_STATUS
  37. WLAN是否啟用。
  38. WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT
  39. WLAN斷開(kāi)連接后等待建立移動(dòng)數(shù)據(jù)連接時(shí)保持喚醒鎖的最長(zhǎng)時(shí)間。
  40. 5 SystemSettings.Network提供的典型字段
  41. 字段名
  42. 字段描述
  43. DATA_ROAMING_STATUS
  44. 數(shù)據(jù)漫游開(kāi)啟狀態(tài)。
  45. NETWORK_PREFERENCE_USAGE
  46. 設(shè)置用戶(hù)經(jīng)常使用的網(wǎng)絡(luò)。
  47. 6 SystemSettings.Input提供的典型字段
  48. 字段名
  49. 字段描述
  50. DEFAULT_INPUT_METHOD
  51. 設(shè)置默認(rèn)的輸入法,并記錄此輸入法的ID
  52. ACTIVATED_INPUT_METHODS
  53. 已激活的輸入法列表。
  54. AUTO_CAPS_TEXT_INPUT
  55. 設(shè)置文本編輯器是否啟用自動(dòng)大寫(xiě)。
  56. 7 SystemSettings.Sound提供的字段
  57. 字段名
  58. 字段描述
  59. HAPTIC_FEEDBACK_STATUS
  60. 設(shè)置是否開(kāi)啟觸摸反饋。
  61. VIBRATE_WHILE_RINGING
  62. 設(shè)置來(lái)電響鈴時(shí)是否震動(dòng)。
  63. DEFAULT_NOTIFICATION_SOUND
  64. 系統(tǒng)默認(rèn)通知鈴聲的存儲(chǔ)區(qū)。
  65. 8 SystemSettings.Display提供的典型字段
  66. 字段名
  67. 字段描述
  68. FONT_SCALE
  69. 設(shè)置字體大小因子。
  70. SCREEN_BRIGHTNESS_STATUS
  71. 設(shè)置屏幕亮度。
  72. AUTO_SCREEN_BRIGHTNESS
  73. 設(shè)置是否打開(kāi)屏幕亮度自動(dòng)調(diào)節(jié)模式。
  74. SCREEN_OFF_TIMEOUT
  75. 設(shè)置設(shè)備屏幕自動(dòng)休眠時(shí)間。
  76. 9 SystemSettings.Date提供的典型字段
  77. 字段名
  78. 字段描述
  79. DATE_FORMAT
  80. 設(shè)置日期格式。
  81. TIME_FORMAT
  82. 設(shè)置以1224小時(shí)制顯示時(shí)間。
  83. AUTO_GAIN_TIME
  84. 是否從網(wǎng)絡(luò)(NITZ)自動(dòng)獲取日期,時(shí)間和時(shí)區(qū)的值。
  85. AUTO_GAIN_TIME_ZONE
  86. 是否從網(wǎng)絡(luò)(NITZ)自動(dòng)獲取時(shí)區(qū)的值。
  87. 10 SystemSettings.General提供的典型字段
  88. 字段名
  89. 字段描述
  90. SETUP_WIZARD_FINISHED
  91. 識(shí)別開(kāi)機(jī)向?qū)欠褚呀?jīng)運(yùn)行過(guò)。
  92. AIRPLANE_MODE_STATUS
  93. 飛行模式是否開(kāi)啟。
  94. DEVICE_NAME
  95. 設(shè)備名稱(chēng)。
  96. ACCESSIBILITY_STATUS
  97. 設(shè)置輔助功能是否可用。
  98. 11 SystemSettings.Call提供的典型字段
  99. 字段名
  100. 字段描述
  101. RTT_CALLING_STATUS
  102. 設(shè)置來(lái)去電是否啟動(dòng)RTT模式進(jìn)行應(yīng)答。
  103. 開(kāi)發(fā)步驟
  104. 應(yīng)用程序打開(kāi)某個(gè)Slice時(shí),在OnStart()時(shí),注冊(cè)相關(guān)設(shè)置項(xiàng)的回調(diào),并讀取一次該設(shè)置項(xiàng)的值,進(jìn)行初始化適配。
  105. @Override
  106. public void onStart(Intent intent) {
  107. // ...
  108. dataAbilityHelper = DataAbilityHelper.creator(this);
  109. IDataAbilityObserver dataAbilityObserver = new IDataAbilityObserver() {
  110. @Override
  111. public void onChange() {
  112. String timeFormat = SystemSettings.getValue(dataAbilityHelper, SystemSettings.Date.TIME_FORMAT);
  113. setTimeFormat(timeFormat);
  114. }
  115. };
  116. dataAbilityHelper.registerObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
  117. }
  118. void setTimeFormat(String timeFormat) {
  119. if ("12".equals(timeFormat)) {
  120. // Display in 12-hour format
  121. } else {
  122. // Display in 24-hour format
  123. }
  124. }
  125. onStop()時(shí),解除回調(diào)注冊(cè)。
  126. dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);

  1. 在 onStop() 時(shí),解除回調(diào)注冊(cè)。

  1. dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)