setLatestEventInfo定义
public void setLatestEventInfo(Context context,
CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent) { Notification.Builder builder = new Notification.Builder(context); // First, ensure that key pieces of information that may have been set directly // are preserved builder.setWhen(this.when); builder.setSmallIcon(this.icon); builder.setPriority(this.priority); builder.setTicker(this.tickerText); builder.setNumber(this.number); builder.setColor(this.color); builder.mFlags = this.flags; builder.setSound(this.sound, this.audioStreamType); builder.setDefaults(this.defaults); builder.setVibrate(this.vibrate); // now apply the latestEventInfo fields if (contentTitle != null) { builder.setContentTitle(contentTitle); } if (contentText != null) { builder.setContentText(contentText); } builder.setContentIntent(contentIntent); builder.buildInto(this);}
setLatestEventInfo方法仅适用于API22以下版本,API22以下可使用如下方法消息推送
// 1 得到通知管理器 NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // 2构建通知 Notification notification = new Notification( R.drawable.ic_launcher, content, System.currentTimeMillis()); // 3设置通知的点击事件 Intent resultIntent = new Intent(context, SplashActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(mContext, 100, resultIntent, 0); // notification.setLatestEventInfo(context, title, content , contentIntent); notification.flags = Notification.FLAG_AUTO_CANCEL;// 点击通知之后自动消失 //清除 mediaNF nm.cancel(99); // 4发送通知 nm.notify(99, notification);
API 23以上版本 可使用如下方法替换
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); //新建一个Notification管理器; //API level 11 Notification.Builder builder = new Notification.Builder(context);//新建Notification.Builder对象 PendingIntent intent = PendingIntent.getActivity(context, 0, new Intent(context, SplashActivity.class), 0); //PendingIntent点击通知后所跳转的页面 builder.setContentTitle(title); builder.setContentText(content); builder.setSmallIcon(R.drawable.ic_launcher); builder.setContentIntent(intent);//执行intent Notification notification = builder.getNotification();//将builder对象转换为普通的notification
// builder.setUrl("http://www.nnhsart.com");//跳转URL //API level 16以上 Notification notification = new Notification.Builder(context) .setAutoCancel(true) .setContentTitle("title") .setContentText("describe") .setContentIntent(intent ) .setSmallIcon(R.drawable.ic_launcher) .setWhen(System.currentTimeMillis()) .build(); notification.flags |= Notification.FLAG_AUTO_CANCEL;//点击通知后通知消失 //清除 mediaNF manager.cancel(100); //发送通知 manager.notify(100, notification);