免打扰功能的入口在NotificationSettings中,
点击列表项跳转到ZenModeSettings。
<!-- Interruptions -->
<PreferenceScreen
android:key="zen_mode"
android:title="@string/zen_mode_settings_title"
settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
android:fragment="com.android.settings.notification.ZenModeSettings" />
ZenModeSettings 继承了ZenModeSettingsBase,
ZenModeSettingsBase的子类还有ZenModeAutomationSettings,ZenModePrioritySettings,ZenModeRuleSettingsBase
其中ZenModeRuleSettingsBase是一个抽象类,它的子类有ZenModeEventRuleSettings,ZenModeExternalRuleSettings,ZenModeScheduleRuleSettings。
ZenModeSettings 只是显示ZenModePrioritySettings和ZenModeAutomationSettings的入口
<!-- Priority only allows -->
<PreferenceScreen
Android 6.0 免打扰功能实现解析

本文深入探讨了Android 6.0的免打扰功能,从NotificationSettings入口进入ZenModeSettings,详细分析了ZenModeSettingsBase的各个子类,如ZenModePrioritySettings和ZenModeAutomationSettings。ZenModePrioritySettings允许用户自定义提醒、活动、消息等的免打扰规则,而ZenModeAutomationSettings则负责展示和添加通知规则,包括时间规则和事件规则。所有规则的设置都通过NotificationManager的相关方法实现。
最低0.47元/天 解锁文章
759

被折叠的 条评论
为什么被折叠?



