Notification

Heads-Up Notification 开关:
PhoneStatusBar.java
@Override
public void addNotification(StatusBarNotification notification, RankingMap ranking,
Entry oldEntry) {
if (DEBUG) Log.d(TAG, “addNotification key=” + notification.getKey());

    mNotificationData.updateRanking(ranking);
    Entry shadeEntry = createNotificationViews(notification);
    if (shadeEntry == null) {
        return;
    }
    boolean isHeadsUped = shouldPeek(shadeEntry);
    //可添加过滤拦截

铃声、振动、提示灯 效果开关:
NotificationManagerService.java
@VisibleForTesting
void buzzBeepBlinkLocked(NotificationRecord record) {
boolean buzz = false;
boolean beep = false;
boolean blink = false;

    final Notification notification = record.sbn.getNotification();
    final String key = record.getKey();

//可添加过滤拦截

disableNotificationEffects只对声音和振动有效果,提示灯在后面会执行
private String disableNotificationEffects(NotificationRecord record) {
if (mDisableNotificationEffects) {
return “booleanState”;
}
if ((mListenerHints & HINT_HOST_DISABLE_EFFECTS) != 0) {
return “listenerHints”;
}
if (mCallState != TelephonyManager.CALL_STATE_IDLE && !mZenModeHelper.isCall(record)) {
return “callState”;
}
return null;
};

    原文作者:doomvsjing
    原文地址: https://blog.csdn.net/doomvsjing/article/details/77543138
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞