Notification

来源:互联网 发布:怎么联系手机淘宝客服 编辑:程序博客网 时间:2024/06/06 17:56

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;
};