Добавить значок в конце основного текста в Локальное уведомление
Как добавить маленькое изображение (иконку) в конце тела уведомления (Локальное уведомление). Я использую 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: Представляем обновленные уведомления