安開發卓之Notification(一)代碼直接能用

  Notification是Android中很理想的一種顯示提示信息的方法,它能夠將應用程序的信息傳遞到咱們的Android桌面狀態欄,採用這種消息傳遞方式不會影響到用戶對手機的正常使用。並且Notification不單單能夠傳遞文字信息,還能夠傳遞圖片信息,甚至能夠將咱們的控件追加到上面,只要用戶不對其進行清空,那麼消息將一直保存在用戶桌面的狀態欄當中。android

Notification一般用來進行對用戶的更新提醒等消息的傳遞。spa

  Notification須要使用到NotificationManager(消息通知管理類)對消息進行管理,其建立須要五個步驟:對象

(1)經過getSystemService獲取Notification對象圖片

(2)建立一個Notification,每個notification對應一個notification對象。資源

(3)建立一個PendingIntent對象get

(4)使用notification類的setLatestEventInfo方法設置Notification對象的詳細信息it

(5)使用NotificationManager對象的notify方法顯示消息io

 

在第二步時應當注意須要設置顯示在屏幕上方狀態欄的通知消息、通知消息前方的圖像資源ID和放出通知的時間,通常爲當前時間ast

(3)建立PendingIntent對象:test

因爲notification能夠與應用程序脫離,也就是說你的應用程序已經關閉,消息仍然顯示在狀態欄之中,當應用程序再次啓動後,又能夠從新控制這些notification,如清除、替換等工做。所以須要PendingIntent對象,該對象由安卓系統維護,所以,應用程序關閉後,消息仍然不會被釋放。

(4)在使用notify方法時須要指定Notification對象的惟一ID,這個ID必須相對於一個Notificationmanager對象來講是惟一的,不然就會覆蓋相同ID的

Notification

NotificationManager manager  = (NotificationManager)

    getSystemService(NOTIFICATION_SERVICE);

    String notice = "您有短消息了!";

    Notification notification = new Notification(R.drawable.ic_launcher, notice,System.currentTimeMillis());

    PendingIntent contentIntent = PendingIntent.getActivity

    (getApplicationContext(), 0, getIntent(), 0);

    notification.setLatestEventInfo

    (getApplicationContext(), "小搬運工又變帥了", "華中軟件龍頭企業", contentIntent);

    notification.defaults = Notification.DEFAULT_SOUND;

    notification.defaults = Notification.DEFAULT_LIGHTS;

    notification.defaults = Notification.DEFAULT_VIBRATE;

    notification.defaults = Notification.DEFAULT_ALL;

    manager.notify(R.drawable.ic_launcher,notification);

一、若是要調取聲音,需用使用到:android:name=「android.permission.VIBRATE」權限

  NotificationManager.cancel(resId)清除某個數據 NotificationManager.cancelAll()清除某個NotificationManager對象中的全部消息。
在清除完消息後,須要作一些善後工做,須要經過notification,deleteIntent來完成,deleteIntent也須要一個pendingIntent類型的變量,用於在清除所用的notification對象時調用。這個動做能夠與Activity、Service、Broadcast關聯。

若是想永久保存推送的通知,須要增長代碼:

•notification.flags = Notification.FLAG_NO_CLEAR;
相關文章
相關標籤/搜索