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仓中的配置,这点需要注意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值