Notification的作用
能够在通知栏展示一些信息
Notification介绍
图片摘自Google Android developer guide
- 小图标,对应于
setSmallIcon()
。 - App的名称,由系统提供。
- 时间戳,由系统提供,你也可以调用
setWhen()
进行设置时间戳,也可以调用setShowWhen(false)
进行隐藏 - 大图标,这是可选择的(通常仅用于联系人的照片,不要将它用于App的图标),可以通过调用
setLargeIcon()
进行设置。 - 标题,这是可选择的,可以通过调用
setContentTitle()
进行设置。 - 内容,这是可选择的,可以通过调用
setContentText()
进行设置。
Notification使用
// 创建Notification
Notification.Builder builder = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// channelId是一个独一无二的分组id
builder = new Notification.Builder(this, channelId);
} else {
builder = new Notification.Builder(this);
}
Notification notification = builder
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.setContentTitle("支付宝通知")
.setContentText("你有一张券即将到期:花呗周卡-饿了么品质联盟红...")
.setShowWhen(true)
.setAutoCancel(true)
.build();
// 获取系统的NotificationManager
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// 设置channel
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(channel);
}
// 发送通知,notifyId表示当前这条通知消息在此App中的独一无二标示符
notificationManager.notify(notifyId, notification);
效果图如下: