Android notfication BigPictureStyle消失文本

我正在使用兼容库实现Android丰富的通知,所以我的所有通知都是使用android.support.v4.app.NotificationCompat.Builder构建的。

我正在使用的代码如下:

  // Base notification NotificationCompat.Builder b = new NotificationCompat.Builder(context); b.setSmallIcon(R.drawable.ic_actionbar); b.setContentTitle(title); b.setContentText(Html.fromHtml(msg)); b.setTicker(title); b.setWhen(System.currentTimeMillis()); b.setDeleteIntent(getDismissNotificationsPendingIntent(quantity)); b.setLargeIcon(Picasso.with(context).load(iconUrl).get()); // BigPictureStyle NotificationCompat.BigPictureStyle s = new NotificationCompat.BigPictureStyle(); if (expandedIconUrl != null) { s.bigLargeIcon(Picasso.with(context).load(expandedIconUrl).get()); } else if (expandedIconResId > 0) { s.bigLargeIcon(BitmapFactory.decodeResource(context.getResources(), expandedIconResId)); } s.bigPicture(Picasso.with(context).load(bigImageUrl).get()); b.setStyle(s); b.setContentIntent( // some intent b.addAction(R.drawable.ic_notification_ // some action Notification n = b.build(); // and go ahead to show it 

如果显示图像不兼容,有一些额外的基本上没有加载任何图像,所以我们不会无缘无故地使用内存,但这是基础,我期待类似于下面图像右侧的通知

在此处输入图像描述

问题是消息(在示例“触摸以查看屏幕截图。”)显示通知何时签约,但是当通知扩展时,消息消失。

是否有任何setMessage()方法我忘了打电话? 这是NotificationCompat的错误吗? 谁能在这里提供一些见解?

是否有任何setMessage()方法我忘了打电话?

是的! NotificationCompat.BigPictureStyle setSummaryText

  mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(0, setBigPictureStyleNotification()); private Notification setBigPictureStyleNotification() { Bitmap remote_picture = null; // Create the style object with BigPictureStyle subclass. NotificationCompat.BigPictureStyle notiStyle = new NotificationCompat.BigPictureStyle(); notiStyle.setBigContentTitle("Big Picture Expanded"); notiStyle.setSummaryText("Nice big picture."); try { remote_picture = BitmapFactory.decodeStream((InputStream) new URL(sample_url).getContent()); } catch (IOException e) { e.printStackTrace(); } // Add the big picture to the style. notiStyle.bigPicture(remote_picture); // Creates an explicit intent for an ResultActivity to receive. Intent resultIntent = new Intent(this, ResultActivity.class); // This ensures that the back button follows the recommended convention for the back key. TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); // Adds the back stack for the Intent (but not the Intent itself). stackBuilder.addParentStack(ResultActivity.class); // Adds the Intent that starts the Activity to the top of the stack. stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); return new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setAutoCancel(true) .setLargeIcon(remote_picture) .setContentIntent(resultPendingIntent) .addAction(R.drawable.ic_launcher, "One", resultPendingIntent) .addAction(R.drawable.ic_launcher, "Two", resultPendingIntent) .addAction(R.drawable.ic_launcher, "Three", resultPendingIntent) .setContentTitle("Big Picture Normal") .setContentText("This is an example of a Big Picture Style.") .setStyle(notiStyle).build(); }