Android Notification 通知的使用以及自定义通知

如何发送一个通知?

Android 8版本之前:

第一步:获取NotificationManager

mNotificationManager = (NotificationManager)activity.getSystemService(NOTIFICATION_SERVICE);

第二步:构建一个Notification的builder用于构建Notification

Notification.Builder builder=new Notification.Builder(activity);
builder.setContentTitle("测试  "+mNotificationId) //必须提供
                        .setContentText("测试内容") //必须提供
                        .setTicker("测试通知到达")
                        .setWhen(System.currentTimeMillis())
                        .setPriority(Notification.PRIORITY_DEFAULT)//设置该通知优先级
                        .setSmallIcon(R.mipmap.ic_launcher_round) //必须提供
                        .setOngoing(true)           //  设置常驻用户无法清除
                        .setContentIntent(intent);   //用于点击通知跳转界面

第三步:调用NotificationManager的notify函数,传入一个int类型id(用于标识通知)和一个Notification对象

mNotificationManager.notify(mNotificationId++, builder.build());

Android 8版本之后:

大体步骤没什么区别,多了个Channel通道

mNotificationManager = (NotificationManager) activity.getSystemService(NOTIFICATION_SERVICE);
NotificationChannel channel = new NotificationChannel(CHANNEL_ID,"my_channel",NotificationManager.IMPORTANCE_DEFAULT);
channel.enableLights(true); //是否在桌面icon右上角展示小红点
channel.setLightColor(Color.GREEN); //小红点颜色
channel.setShowBadge(true); //是否在久按桌面图标时显示此渠道的通知
mNotificationManager.createNotificationChannel(channel);//创建Channel

builder需要设置Channel

 builder.setContentTitle("测试  "+mNotificationId) //必须提供
                        .setContentText("测试内容") //必须提供
                        .setTicker("测试通知到达")
                        .setWhen(System.currentTimeMillis())
                        .setPriority(Notification.PRIORITY_DEFAULT)//设置该通知优先级
                        .setSmallIcon(R.mipmap.ic_launcher_round) //必须提供
                        .setOngoing(true)           //  设置常驻用户无法清除
                        .setContentIntent(intent)   //用于点击通知跳转界面
                        .setChannelId(CHANNEL_ID); //Android O以上版本必须提供</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值