1. 程式人生 > >android原生程式碼中的情景模式及提示音和通知

android原生程式碼中的情景模式及提示音和通知

如下介紹的是5.1平臺中的設定應用中的情景模式及提示音和通知

設定的介面: 對應的java類:com.android.settings.SettingsActivity 對應的xml檔案:xml/dashboard_categories.xml 情景模式: 對應的java類:com.android.settings.profiles.ProfilesSettings 對應的xml檔案:layout/profile_tab.xml 點選任意一種情景模式的的流程: 1.初始化:com.android.settings.profiles.ProfilesSettings->com.android.settings.profiles.ProfilesList->com.android.settings.profiles.ProfilesPreference
2.點選任一情景模式的設定按鈕:進入到com.android.settings.profiles.SetupActionsFragment 提示音和通知 對應的java類:com.android.settings.notification.NotificationSettings 對應的xml檔案:xml/notifiation_setitngs.xml 其中包括如下內容: 1. 手機鈴聲:分為單卡和雙卡 1)雙卡 對應的java類:com.android.settings.MultiSimSettingTab 對應的xml檔案:layout/multi_sim_setting_tab.xml
其中每一個卡的鈴聲設定: 對應的java類:com.android.settings.sim.MultiSimSoundSettings 對應的xml檔案:xml/multi_sim_sound_settings.xml 2)單卡 單擊後直接對應的類為:com.android.settings.DefaultRingtonePreference 2.有來電時響鈴並振動 preference key: screen_locking_sounds system表中對應的name: Settings.System.VIBRATE_WHEN_RINGING MediaProvider對應的初始值:R.bool.def_vibrate_when_ringing_enabled
3.其他提示音 對應的JAVA類:com.android.settings.notification.OtherSoundSettings 對應的XML檔案:xml/other_sound_settings.xml 其他提示音的控制都在SettingsProvider中控制,具體如下: 1)撥號鍵盤提示音  preference key: dial_pad_tones     system表中對應的name: System.DTMF_TONE_WHEN_DIALING     SettingsProvider中對應的預設值:R.bool.def_dtmf_tones_enabled 2)螢幕鎖定提示音     preference key: screen_locking_sounds     system表中對應的name: System.LOCKSCREEN_SOUNDS_ENABLED     SettingsProvider中對應的預設值:R.integer.def_lockscreen_sounds_enabled 3)觸控提示音  preference key: touch_sounds     system表中對應的name: System.SOUND_EFFECTS_ENABLED     SettingsProvider中對應的預設值:R.bool.def_sound_effects_enabled 4)觸控時振動  preference key: vibrate_on_touch     system表中對應的name: System.HAPTIC_FEEDBACK_ENABLED     SettingsProvider中對應的預設值:R.bool.def_haptic_feedback 這四個提示音的初始化在/framework/base/package/SettingsProvider/com.android.providers.settings.DatabaseHelper類中的 loadUISoundEffectsSettings(SQLiteStatement)函式中。 4. 打擾 對應的java類:com.android.settings.notification.ZenModeSettings 對應的xml檔案:xml/zen_mode_settings.xml 1).優先打擾內容的配置 在ZenModeHelper.java中通過readDefaultConfig()方法讀取預設預設。 5.裝置鎖定時 preference key: lock_screen_notifications secure表中對應的name: Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS SettingsProvider中對應的預設值:R.integer.def_lock_screen_show_notifications 初始化預設鈴聲和鈴聲大小 <bool name="def_custom_sys_volume">true</bool> <bool name="def_custom_sys_sound">true</bool> 若這兩個值設定為true,則不會走product倉中的配置,這點需要注意