我正在使用setContent创建一个带有自定义布局的通知,它工作正常。 但是当我使用addAction()向通知添加动作时,我的自定义布局被忽略,它显示了android的默认通知布局。
当我缩小通知(使用双指手势)时,我的自定义布局显示,因此“展开”表单似乎使用了我无法设置的不同布局。
屏幕截图(使用操作,然后向上滑动两根手指以缩小它)
如您所见,当显示操作时,它显示为空(=默认布局)。
代码:
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.notification_status);
Builder builder = new Notification.Builder(context);
builder.setSmallIcon(icon)
.setTicker(tickerText)
.setWhen(when)
.setContent(remoteView)
.setOngoing(true)
.setContentIntent(contentIntent)
.setPriority(Notification.PRIORITY_HIGH)
.addAction(R.drawable.ic_remove, "Action 1", cancelPendingIntent)
.addAction(R.drawable.ic_stat_notify_gray_official, "Action 2", cancelPendingIntent)
.setContentIntent(contentIntent);
Notification statusNotification = builder.build();
return statusNotification;
我试图找到控制通知行动布局的地方,没有运气。有什么帮助吗?
答案 0 :(得分:1)
有完全相同的问题!而不是打电话
builder.setContent(remoteView)
这取代了正常的内容,你应该这样做:
Notification statusNotification = builder.build();
statusNotification.bigContentView = remoteViews;
将布局设置为bigContentView,扩展后会显示!
注意:这样做会阻止您的操作按钮显示。有关如何解决此问题,请参阅In Android (on JB), how can I add an action to a custom rich notification?