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

初始化默认铃声和铃声大小
true
true
若这两个值设置为true,则不会走product仓中的配置,这点需要注意

你可能感兴趣的:(androd)