一、NotificationManager類對象ide
<1>getSystemService(Context.NOTIFICATION_SERVICE) 獲取通知管理對象佈局
<2>notify(int id, Notification notification)ui
//定義通知管理對象this
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//定義通知構造器對象code
NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("標題") .setContentText("文本") .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
(1)普通的通知對象
Intent intent1 = new Intent(this,SecondActivity.class); //設置點擊通知時打開的窗口 //定義延遲執行Intent的對象 PendingIntent pIntent = PendingIntent.getActivity(this, 1, intent1, PendingIntent.FLAG_ONE_SHOT); //FLAG_ONE_SHOT:通知僅執行一次 builder.setContentIntent(pIntent); manager.notify(0,builder.build());
(2)取消全部通知圖片
manager.cancelAll();
(3) 帶進度條的通知資源
final NotificationCompat.Builder progressBuilder = new NotificationCompat.Builder(this); progressBuilder.setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Title") .setContentText("據說宋丹丹要上馬年春晚"); new Thread(new Runnable() { @Override public void run() { int i; for(i = 0;i <= 100;i+= 5){ //第一個參數: 進度條的最大值,第二個參數:當前進度,第三個參數:是否爲不肯定性進度 progressBuilder.setProgress(100, i, false); manager.notify(3, progressBuilder.build()); try { Thread.sleep(500); //每隔0.5秒發送一次通知 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } progressBuilder.setContentText("下載完畢!"); manager.notify(3, progressBuilder.build()); } }).start();
二、NotificationCompat.Builder 通知的構造類get
<1>普統統知it
(1)setSmallIcon(R.drawable.ic_launcher) 設置通知的小圖標
(2)setContentTitle("標題")
(3)setContentText("文本內容")
(4)setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE) 設置通知提示
(5)setContentIntent(PendingIntent) 設置通知被點擊後的意圖
(6)Notification build() 生成通知對象
(7).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.qq))
<2>大視圖通知
(1)setStyle(NotificationCompat.Style) 設置大視圖樣式
setBigContentTitle("大視圖標題")
setSummaryText("大視圖的說明")
(2)NotificationCompat.InboxStyle 包含一個列表控件
addLine("message1")
(3)NotificationCompat.BigTextStyle 包含一個大的文本控件
bigText("big text")
(4)NotificationCompat.BigPictureStyle 包含一個在的圖片控件
bigPicture(BitmapFactory.decodeResource(getResources(), R.drawable.qq))
<3>帶進度的通知
(1)setProgress(int max, int progress, boolean indeterminate) 設置當前進度,第三個參數:是否爲不肯定進度條
<4>自定義通知
(1)setContent(RemoteViews) 設置自定義的通知內容
(2)RemoteViews(String packageName, int layoutId) 加載一個指定應用下的佈局資源文件
(3)setTextViewText(int viewId, "內容") 設置指定TextView控件的內容
(4)setImageViewBitmap(int viewId,Bitmap) 設置ImageView控件顯示的圖片
(5)setImageViewResource(int viewId,int resid) 設置ImageView控件顯示的圖片資源