Android通知系統之Notification

##Notification

定義:

一種能夠顯示即時信息的控件,該控件顯示在標題欄中,拉開後會看到通知的完整樣式佈局

樣式:

1. 普統統知

  • 使用普統統知必須的選項
    三劍客

    • 設置標題:setContentTitle()
    • 設置圖標:setSmallIcon()
    • 添加描述:setContentText()
  • 可選項ui

    • setDefaults(系統默認鬧鈴|系統默認震動)
    • setTicker(設置標題欄顯示的內容。通常爲contentText)
  • 建立通知的步驟this

    • 定義NotificationComfat.Builder對象
    • 設置必須選項和可選項
  • 發佈通知
    NotifacationManager.notify(id,Notification)線程

  • 點擊事件code

    • 使用PendingIntent,具體方法以下
      getActivity(Context context,int requestCode,int flags)
      context:獲取上下文對象
      requestCode:獲取另外一個Activity的返回碼
      intent:PendingIntent須要觸發的事件,好比跳轉Activity
      flags:通知標誌位
    • 使用setContentIntent(PendingIntent)將封裝好的PendingIntent對

象放入該對象中xml

2. 大視圖通知

  • 先建立一個簡單通知
  • 使用NotificationCompat.InboxStyle對象設置大視圖通知的樣式,

代碼以下對象


NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.notification_icon) .setContentTitle("Event tracker") .setContentText("Events received") NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); String[] events = new String[6]; // Sets a title for the Inbox style big view inboxStyle.SetBigContentTitle("Event tracker details:"); ... // Moves events into the big view for (int i=0; i < events.length; i++) { inboxStyle.addLine(events[i]); } // Moves the big view style object into the notification object. mBuilder.setStyle(inBoxStyle);

3. 進度條通知

  • 建立一個普統統知
  • 開啓一個線程,在改線程中使用setProgress(進度條的最大值,當前進度值,false),在notify方法即時通知進度條,代碼以下
    mBuilder.setProgress(100,incr,false); mNotifyManager.notify(0,mBuilder.build());

4. 自定義通知

  • 建立一個普統統知
  • 建立一個自定義佈局
  • 建立一個RemoteViews對象,將xml佈局加載到對象中,代碼以下事件

    RemoteView content =new RemoteViews(getPackageName(),R.layout.item);
  • 使用setContent(content)方法,將RemoteViews對象加載到普統統知對象中
相關文章
相關標籤/搜索