我正在尝试在我的开发应用中添加扩展图标。我已完成通知RemortView
折叠并展开布局帮助this site。投手下方是我当前的通知状态。
我的代码如下:
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
builder.setContentIntent(intent);
builder.setTicker(mContext.getResources().getString(R.string.custom_notification));
builder.setSmallIcon(R.drawable.ic_notification_small_basket);
builder.setAutoCancel(true);
builder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
builder.setCustomBigContentView(expandedView);
builder.setCustomContentView(contentView);
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0, builder.build());
实际需要如何放置展开图标以及如何通过通知RemortView
获取点击事件,以便展开和折叠通知。
看起来像下面的投手。 这个投手只是扩展图标的一个例子。
答案 0 :(得分:1)
我知道这是一个老问题,但是出于堆栈溢出的性质,我会给您一个正确的答案。
您可能希望使用Android的默认标头装饰自定义通知,而不是实现自己的标头(包括用于扩展/折叠通知的箭头)。
您唯一需要注意的是按照正确的顺序使用builder方法。首先,您必须为折叠和展开的RemoteView(称为RemortViews
)设置远程视图,然后将NotificationCompat.DecoratedCustomViewStyle
包裹起来。
notificationBuilder.setCustomContentView(contentView)
.setCustomBigContentView(expandedView)
.setStyle(NotificationCompat.DecoratedCustomViewStyle()) // <- That's what you want
val notification = notificationBuilder.build()
不要忘记删除自定义标头内容,因为它不再有意义。
答案 1 :(得分:0)
现在好了我们有代码我试过这个并且它对我有用,你需要对存储的位置和内容做一些调整
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(),
R.mipmap.ic_launcher))
.setContentTitle(title)
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
android.app.NotificationManager notificationManager =
(android.app.NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());