Добавить значок в конце основного текста в Локальное уведомление

Как добавить маленькое изображение (иконку) в конце тела уведомления (Локальное уведомление). Я использую NotificationCompat.Builder для создания уведомлений. Я хочу добавить маленький значок в конце тела уведомления.

2 ответа

Я думаю, что вы можете использовать spannable Строка, потому что setContentText(CharSequence message) принимает CharSequence,

  String msg="Hello world";
    SpannableStringBuilder ssb = new SpannableStringBuilder(msg);
    ssb.setSpan(new ImageSpan(this, R.drawable.app_icon), msg.length()-1, msg.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);

И добавьте его в сообщение в конструкторе уведомлений.

 NotificationCompat.Builder  notification
                = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.app_icon)
                .setStyle(new NotificationCompat.BigTextStyle().bigText(ssb))
                .setContentTitle("Hello")
                .setContentText(ssb);

Я не проверял это. Но я думаю, что это должно сработать. Остерегайтесь индекса.

Вы можете использовать NotificationCompat.Builder # setCustomContentView (RemoteViews). В этом связанном вопросе вы можете увидеть пример.

Примите во внимание, что шаблон уведомлений изменился в Android N, если вы идете по этому пути, и обычно пользователи ожидают единого интерфейса. См. Android N: Представляем обновленные уведомления

Другие вопросы по тегам