1. 程式人生 > >Android開發筆記之notification訊息推送 通知欄的實現

Android開發筆記之notification訊息推送 通知欄的實現

訊息通知欄的實現

  1. 我們要通過builder工廠來建立一個notification的物件
  2. 我們建立一個點選了通知欄訊息要跳轉到的activityIntent intent = new Intent(context, PlayActivity.class);
  3. 通過builder物件來設定notification相關的屬性值 
    4.我們要獲得notification的管理器通過context.getSystemService(context.NOTIFICATION_SERVICE);得到,由其呼叫notify進行通知
    public static void showNotifictionIcon(Context context) {
        NotificationCompat.Builder
builder = new NotificationCompat.Builder(context); Intent intent = new Intent(context, PlayActivity.class);//將要跳轉的介面 builder.setAutoCancel(true);//點選後消失 builder.setSmallIcon(R.drawable.icon_music);//設定通知欄訊息標題的頭像 builder.setDefaults(NotificationCompat.DEFAULT_SOUND);//設定通知鈴聲 builder.setTicker
("你好"); builder.setContentText("今天天氣真好");//通知內容 builder.setContentTitle("天氣"); //利用PendingIntent來包裝我們的intent物件,使其延遲跳轉 PendingIntent intentPend = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); builder.setContentIntent(intentPend); NotificationManager manager = (NotificationManager) context.getSystemService
(context.NOTIFICATION_SERVICE); manager.notify(0, builder.build()); }
另外:
  1.  privatevoid showNotification() {  
  2.         // TODO Auto-generated method stub
  3.         Notification.Builder builder=new Builder(this);  
  4.         builder.setSmallIcon(R.drawable.ic_launcher);//設定圖示
  5.         builder.setTicker("通知來啦");//手機狀態列的提示
  6.         builder.setContentTitle("我是通知標題");//設定標題
  7.         builder.setContentText("我是通知內容");//設定通知內容
  8.         builder.setWhen(System.currentTimeMillis());//設定通知時間
  9.         Intent intent=new Intent(this,MainActivity.class);  
  10.         PendingIntent pendingIntent=PendingIntent.getActivity(this0, intent, 0);  
  11.         builder.setContentIntent(pendingIntent);//點選後的意圖
  12.         builder.setDefaults(Notification.DEFAULT_LIGHTS);//設定指示燈
  13.         builder.setDefaults(Notification.DEFAULT_SOUND);//設定提示聲音
  14.         builder.setDefaults(Notification.DEFAULT_VIBRATE);//設定震動
  15.         Notification notification=builder.build();//4.1以上,以下要用getNotification()
  16.         manager.notify(Notification_ID, notification);  
  17.     }  
上面程式碼中設定的指示燈和震動,由於程式中要訪問系統的指示燈和振動器 所以要在AndroidManifest.xml中宣告使用許可權
  1. <uses-permissionandroid:name="android.permission.VIBRATE"/>
  2. <uses-permissionandroid:name="android.permission.FLASHLIGHT"/>