Notification(狀態欄通知)

1. ??上面的組成元素依次是:

Icon/Photo:大圖標

Title/Name:標題

Message:內容信息

Timestamp:通知時間,默認是系統發出通知的時間,也可以通過setWhen()來設置

Secondary Icon:小圖標

2. ??狀態通知欄主要涉及到2個類:Notification 和NotificationManager

Notification:通知信息類,它里面對應了通知欄的各個屬性

NotificationManager:是狀態欄通知的管理類,負責發通知、清除通知等操作。

3.? Step 1. 獲得NotificationManager對象: NotificationManager mNManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);


獲得NotificationManager對象

Step 2. 創建一個通知欄的Builder構造類: Notification.Builder mBuilder = new Notification.Builder(this);


創建一個通知欄的Builder構造類

Step 3. 對Builder進行相關的設置,比如標題,內容,圖標,動作等!


對Builder進行相關的設置,比如標題,內容,圖標,動作等

Step 4.調用Builder的build()方法為notification賦值


.調用Builder的build()方法為notification賦值

Step 5.調用NotificationManager的notify()方法發送通知


.調用NotificationManager的notify()方法發送通知

PS:另外我們還可以調用NotificationManager的cancel()方法取消通知

4.? 設置相關的一些方法:

Notification.Builder mBuilder = new Notification.Builder(this);

后再調用下述的相關的方法進行設置:(官方API文檔:Notification.Builder) 常用的方法如下:

setContentTitle(CharSequence):設置標題

setContentText(CharSequence):設置內容

setSubText(CharSequence):設置內容下面一小行的文字

setTicker(CharSequence):設置收到通知時在頂部顯示的文字信息

setWhen(long):設置通知時間,一般設置的是收到通知時的System.currentTimeMillis()

setSmallIcon(int):設置右下角的小圖標,在接收到通知的時候頂部也會顯示這個小圖標

setLargeIcon(Bitmap):設置左邊的大圖標

setAutoCancel(boolean):用戶點擊Notification點擊面板后是否讓通知取消(默認不取消)

setDefaults(int):向通知添加聲音、閃燈和振動效果的最簡單、 使用默認(defaults)屬性,可以組合多個屬性,

?Notification.DEFAULT_VIBRATE(添加默認震動提醒);

?Notification.DEFAULT_SOUND(添加默認聲音提醒);

?Notification.DEFAULT_LIGHTS(添加默認三色燈提醒

)?Notification.DEFAULT_ALL(添加默認以上3種全部提醒)


5.? setContentIntent(PendingIntent):PendingIntent和Intent略有不同,它可以設置執行次數, 主要用于遠程服務通信、鬧鈴、通知、啟動器、短信中,在一般情況下用的比較少。比如這里通過 Pending啟動Activity:getActivity(Context, int, Intent, int),當然還可以啟動Service或者Broadcast PendingIntent的位標識符(第四個參數):

FLAG_ONE_SHOT 表示返回的PendingIntent僅能執行一次,執行完后自動消

?FLAG_NO_CREATE 表示如果描述的PendingIntent不存在,并不創建相應的PendingIntent,而是返回NULL

?FLAG_CANCEL_CURRENT 表示相應的PendingIntent已經存在,則取消前者,然后創建新的PendingIntent, 這個有利于數據保持為最新的,可以用于即時通信的通信場景


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容