在Android 6上,我试图显示具有以下属性组合的通知:
- 文本标题和内容
- 可扩展的图像内容(请参阅此处和此处)
- 不要在状态栏中显示通知图标(不想把它弄得一团糟)
- 不要闪烁任何LED(不想给用户带来麻烦)
- 在锁屏上显示
- 以扩展(或至少可扩展)格式在锁屏上显示(显示bigContentView)
我可以通过setPriority(Notification.PRIORITY_MIN)
实现3和4,但随后通知似乎根本不会显示在锁定屏幕上(5失败)。
对于6,当通知确实显示在锁屏上时,例如使用PRIORITY_MAX
(通过5,但在3和4上失败),没有扩展,甚至没有扩展(在6上失败)。
我使用以下设置通知:
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(titleText)
.setContentText(contentText)
.setSmallIcon(R.drawable.small_icon)
.setOngoing(true)
.setPriority(Notification.PRIORITY_DEFAULT)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.build();
// add the image content (via a remoteViews)...
notification.bigContentView = remoteViews;
notificationManager.notify(tag, id, notification);
.setContentView(RemoteViews视图)
远程视图-描述可以在另一个进程中显示的视图层次结构的类。层次结构是从布局资源文件中展开的,此类提供了一些修改展开层次结构内容的基本操作。
编辑:
稍后在.上调用.build()
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(titleText)
.setContentText(contentText)
.setSmallIcon(R.drawable.small_icon)
.setOngoing(true)
.setPriority(Notification.PRIORITY_DEFAULT)
.setVisibility(Notification.VISIBILITY_PUBLIC);
// add the image content (via a remoteViews)...
notification.bigContentView = remoteViews;
notificationManager.notify(tag, id, notification.build());