一、前言
Notification的基本用法前面文章已经写了。传送门:Android通知栏—Notification(一)这一篇主要探讨一些特殊的Notification。
二、展开式通知
基本通知通常包括标题、一行文本,少量可操作的按钮。如果想要展示更多的内容,可以创建大型展开式通知。
2.1 添加大图片
如需在通知中添加图片,调用setStyle()
方法并传入 NotificationCompat.BigPictureStyle
的实例。
fun showBigPictureNotification(context: Context, bitmap: Bitmap) {
val notification = NotificationCompat.Builder(context, "chatNotification")
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("张三")
.setContentText("这张图片真可爱")
.setStyle(NotificationCompat.BigPictureStyle()
.bigPicture(bitmap)
)
.build()
notificationManager?.notify(6, notification)
}
如果需要通知未展开时显示缩略图设置setLargeIcon()
方法,还想在展开时,隐藏缩略图的话同时调用 BigPictureStyle.bigLargeIcon(null)
fun showBigPictureNotification(context: Context, bitmap: Bitmap) {
val notification = NotificationCompat.Builder(context, "chatNotification")
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("张三")
.setContentText("这张图片真可爱")
.setLargeIcon(bitmap)
.setStyle(NotificationCompat.BigPictureStyle()
.bigPicture(bitmap)
.bigLargeIcon(null)
)
.build()
notificationManager?.notify(6, notification)
}
2.2添加一大段文本
调用setStyle()
方法并传入 NotificationCompat.BigTextStyle
的实例。
fun showBigTextNotification(context: Context, message: CharSequence) {
val notification = NotificationCompat.Builder(context, "recommendNotification")
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("新闻")
.setContentText("房价暴涨50%的深圳小产权房哑火")
.setStyle