Android notfication BigPictureStyle disappearing text

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-04 08:05:46

问题


I'm being implementing Android rich notifications using the compatibility library, so all my notifications are being built using android.support.v4.app.NotificationCompat.Builder

the code I'm using is the following:

  // 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

There's a bit of extra basically not loading any images if showing images is not compatible, so we don't use memory for no reason, but that's the base and I'm expecting something similar to the notification to the right of the following image

the problem is that the message (on the example "Touch to view your screenshot.") shows when the notification is contracted, but when the notification is expanded the message disappears.

Is there any setMessage() method I am forgetting to call? Is that a bug with NotificationCompat? Can anyone give some insight here?


回答1:


Is there any setMessage() method I am forgetting to call?

Yep! NotificationCompat.BigPictureStyle setSummaryText




回答2:


 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();
}


来源:https://stackoverflow.com/questions/19712706/android-notfication-bigpicturestyle-disappearing-text

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!