Android開發筆記之notification訊息推送 通知欄的實現
阿新 • • 發佈:2019-01-31
訊息通知欄的實現
- 我們要通過builder工廠來建立一個notification的物件
- 我們建立一個點選了通知欄訊息要跳轉到的activityIntent intent = new Intent(context, PlayActivity.class);
- 通過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());
}
另外:
- privatevoid showNotification() {
- // TODO Auto-generated method stub
- Notification.Builder builder=new Builder(this);
- builder.setSmallIcon(R.drawable.ic_launcher);//設定圖示
- builder.setTicker("通知來啦");//手機狀態列的提示
- builder.setContentTitle("我是通知標題");//設定標題
- builder.setContentText("我是通知內容");//設定通知內容
- builder.setWhen(System.currentTimeMillis());//設定通知時間
- Intent intent=new Intent(this,MainActivity.class);
- PendingIntent pendingIntent=PendingIntent.getActivity(this, 0, intent, 0);
- builder.setContentIntent(pendingIntent);//點選後的意圖
- builder.setDefaults(Notification.DEFAULT_LIGHTS);//設定指示燈
- builder.setDefaults(Notification.DEFAULT_SOUND);//設定提示聲音
- builder.setDefaults(Notification.DEFAULT_VIBRATE);//設定震動
- Notification notification=builder.build();//4.1以上,以下要用getNotification()
- manager.notify(Notification_ID, notification);
- }
- <uses-permissionandroid:name="android.permission.VIBRATE"/>
- <uses-permissionandroid:name="android.permission.FLASHLIGHT"/>