发布时间:2024-09-24 19:01
今天整个Notification,写哪哪报错,点哪哪不行。。(当然最终效果还是出来了)
所以我必须要说一下Notification最简单的使用
在状态栏显示提示信息,除非用户查看或关闭信息,状态栏才取消显示
一般使用在收到短信后、收到应用的推送消息后、收到未接电话等场合
使用时需要借助NotificationManager(通知管理器)来实现
1.获取通知管理器服务(NotificationManager);
NotificationManager :通知管理器类,它是一个系统服务,调用 notify() 方法可以向系统发送通知。
2.创建通知渠道(NotificationChannel);
NotificationChannel :通知渠道,Android API 26引入的新特性。
3.创建通知构造器(Notification.Builder);
Notification.Builder :通知构造器,使用建造者模式构建 Notification 对象。
4.通过通知构造器创建通知(Notification);
Notification :通知类,保存通知相关的数据
5.通过通知管理器发送通知。
下面附上代码以及注释,当然还有截图
//获取通知管理器服务
NotificationManager manager = (NotificationManager) getApplicationContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
//利用通知管理器创建通知渠道,三个参数分别为渠道ID、渠道名称、渠道重要性
NotificationChannel channel = new NotificationChannel("msgId", "MsgChannel", NotificationManager.IMPORTANCE_DEFAULT);
manager.createNotificationChannel(channel);
//创建通知构造器
Notification.Builder builder = new Notification.Builder(
getApplicationContext(), "msgId")
.setContentTitle("标题")
.setContentText("内容")
.setSmallIcon(R.drawable.user);//这是小图标
//点击通知跳转到MainActivity2
Intent intent = new Intent(getApplicationContext(), MainActivity2.class);
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
builder.setContentIntent(pendingIntent);
//通过通知构造器创建通知
Notification noti = builder.build();
//通过通知管理器发送通知
manager.notify(0, noti);