资料
google 通知文档
一起来学习Android 8.0系统的通知栏适配吧
private void showNotification(Context context, String content) {
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder;
//判断是否是8.0Android.
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel chan1 = new NotificationChannel(“通知渠道的id", "通知渠道的名称", NotificationManager.IMPORTANCE_HIGH);
chan1.setLightColor(Color.GREEN);
mNotificationManager.createNotificationChannel(chan1);
mBuilder = new NotificationCompat.Builder(context, PRIMARY_CHANNEL);
} else {
mBuilder = new NotificationCompat.Builder(context);
}
Intent notificationIntent = new Intent(context, MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, R.string.app_name, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
mBuilder.setContentTitle("xxx")//设置通知栏标题
.setContentText(content)//设置通知栏内容
.setContentIntent(intent) //设置通知栏点击意图
.setSmallIcon(R.mipmap.xxx) //设置通知小ICON
.setAutoCancel(true)
.setNumber(2) //设置通知集合的数量
.setTicker("xxx") //通知首次出现在通知栏,带上升动画效果的
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
.setDefaults(Notification.DEFAULT_ALL);//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
Notification notify = mBuilder.build();
mNotificationManager.notify(pushId, notify);
}
网友评论