1. 程式人生 > >通知(Notification)

通知(Notification)

defaults img ges oca data- 發送通知 ext image style

通知(Notification)1、通知的基本用法
   //創建 NotificationManager 實例
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new NotificationCompat.Builder(this)
.setContentTitle("This is title") //標題
.setContentText("This is content"
) //正文內容
.setWhen(System.currentTimeMillis()) //通知被創建的時間
.setSmallIcon(R.mipmap.ic_launcher) //狀態欄通知圖標
//通知界面的圖標
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.build();
          //發送通知
manager.notify(1, notification);
技術分享Android 6.0: 技術分享 7.0:技術分享 註意:也可以直接創建 NotificationCompat.Builder 實例來一個個的設置方法, 最後修改下 manager.notify(1,builder.builder()) 就Ok。
2、給通知添加點擊事件 <1> 創建 PendingIntent 實例
   Intent intent =new Intent(this,NotificationActivity.class);
//指定意圖
PendingIntent pi=PendingIntent.getActivity
(this,0,intent,0);
<2> 調用 NotificationCompat.Builder 的 setContentIntent() 方法 ,傳入 pi 就行
   .setContentIntent(pi)
<3> 點擊通知後取消通知欄顯示 type1:
   .setAutoCancel(true)
type2: 創建通知管理器,取消指定通知
   NotificationManager manger=(NotificationManager)getSystemService(
NOTIFICATION_SERVICE);
manger.cancel(1);
cancel方法的參數1就是發送通知時傳入的 Id
3、通知欄的進階技巧 <1>設置提示聲音
   //設置聲音                          路徑:是系統的內置鈴聲目錄
.setSound( Uri.fromFile(new File("/system/media/audio/ringtones/ANDROMEDA.ogg")))
<2>設置震動 先註冊權限
<uses-permission android:name="android.permission.VIBRATE"/>
再,
  //設置震動             靜止,震動,靜止, 震動。。。。。
.setVibrate(new long[]{0, 1000, 1000, 1000})
<3>設置燈光
    //設置燈光   顏色    亮的時間  暗的時間
.setLights(Color.RED,300, 300)
還可以直接使用通知的默認效果,它會根據當前的手機環境來決定進行怎樣的效果。
    builder.setDefaults(NotificationCompat.DEFAULT_ALL);

4、通知的高級功能 <1> 長文本
    //  長文字顯示
builder.setStyle(new NotificationCompat.BigTextStyle().bigText("" +
"111111111111111111111222222222222222222222223333333333333333333" +
"4444444444444444444444444444445555555555555555555555555555555" +
"666666666666666666666666666666"));
<2>圖片顯示
   // 圖片上顯示 ,註意圖片不能太大
builder.setStyle(new NotificationCompat.BigPictureStyle().bigPicture
(BitmapFactory.decodeResource(getResources(),R.drawable.google)));
技術分享 技術分享 <3> setPriority() 方法 它接受一個整型參數用於設置這條通知重要程度,一共有5個可選值
PRIORITY_DEFAULT,PRIORITY_MIN,PRIORITY_LOW,PRIORITY_HIGH,PRIORITY_MAX
當設置為 PRIORITY_MAX 後的顯示效果 。技術分享



null

通知(Notification)