通知栏

Android Notification的使用

2019-12-10  本文已影响0人  zhaooozl

Notification的作用

能够在通知栏展示一些信息

Notification介绍

notification-callouts_2x.png
图片摘自Google Android developer guide
  1. 小图标,对应于setSmallIcon()
  2. App的名称,由系统提供。
  3. 时间戳,由系统提供,你也可以调用setWhen()进行设置时间戳,也可以调用setShowWhen(false)进行隐藏
  4. 大图标,这是可选择的(通常仅用于联系人的照片,不要将它用于App的图标),可以通过调用setLargeIcon()进行设置。
  5. 标题,这是可选择的,可以通过调用setContentTitle()进行设置。
  6. 内容,这是可选择的,可以通过调用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);

效果图如下:


WechatIMG42.jpeg
上一篇 下一篇

猜你喜欢

热点阅读