Android第四十一天(3)

一、NotificationManager類對象ide

        <1>getSystemService(Context.NOTIFICATION_SERVICE) 獲取通知管理對象佈局

        <2>notify(int id, Notification notification)ui

                //定義通知管理對象this

 
  1. 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)取消全部通知圖片

 
  1. 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控件顯示的圖片資源                

相關文章
相關標籤/搜索