主要是解决8.0 notification不显示的问题
public static void showNotifictionIcon(Context context, RowMsgBean mRowMsgBean) {
MyLog.info("==showNotifictionIcon,更新通知栏 start,mRowMsgBean-->" + JsonManager.toJson(mRowMsgBean));
Intent intent = new Intent(context, MessageListActivity.class);
PendingIntent intentPend = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationManager manager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder;
//判断是否是8.0Android.O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel chan1 = new NotificationChannel("static", "Primary Channel", NotificationManager.IMPORTANCE_HIGH);
manager.createNotificationChannel(chan1);
builder = new NotificationCompat.Builder(context, "static");
} else {
builder = new NotificationCompat.Builder(context);
}
builder.setDefaults(NotificationCompat.DEFAULT_SOUND);//设置通知铃声
Notification notification = builder.setTicker("您有新的消息")
.setDefaults(Notification.DEFAULT_ALL)
.setSmallIcon(R.mipmap.ic_launcher)
.setWhen(System.currentTimeMillis())
.setContentIntent(intentPend)
.setContentTitle(mRowMsgBean.title)
.setContentText(mRowMsgBean.text)
.setAutoCancel(true)
.build();
if (manager != null && notification != null) {
manager.notify(1, notification);
}
MyLog.info("==showNotifictionIcon,更新通知栏 end");
}
网友评论