Android Notification – Показать полное сообщение

Мое приложение Android должно отправлять короткие оповещения большой группе людей. Очевидное место для этого – в центре уведомлений. Полное уведомление отображается в тикере без проблем, но в центре уведомлений пользователь может видеть только первые пару слов, а затем elipsis. Уведомления не долго, всего 10-15 слов. Как заставить текст обернуться в новую строку?

Мой код для создания уведомлений здесь

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.splash) .setContentTitle("Student Engauge") .setContentText(extras.getString("message")) .setAutoCancel(true) .setTicker(extras.getString("message")); final int notificationId = 1; NotificationManager nm = (NotificationManager) getApplicationContext() .getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(notificationId, mBuilder.build()); 

Solutions Collecting From Web of "Android Notification – Показать полное сообщение"

Чтобы показать большой фрагмент текста, используйте BigTextStyle. Вот пример кода, приведенного в BigTextStyle . Это уведомление будет содержать одну строку текста и при необходимости расширится до большего количества строк.

 Notification noti = new Notification.Builder() .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .setStyle(new Notification.BigTextStyle() .bigText(aVeryLongString)) .build(); при Notification noti = new Notification.Builder() .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .setStyle(new Notification.BigTextStyle() .bigText(aVeryLongString)) .build(); 

Для библиотеки поддержки android

 Notification noti = new Notification.Builder() .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .setStyle(new NotificationCompat.BigTextStyle() .bigText(aVeryLongString)) .build(); при Notification noti = new Notification.Builder() .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .setStyle(new NotificationCompat.BigTextStyle() .bigText(aVeryLongString)) .build(); 

Для устройств Android 4.1 и более поздних версий большое представление является наиболее подходящим решением для отображения большого количества текста. Для устройств с предварительным 4.1 вы можете использовать настраиваемый макет уведомлений, чтобы показать больше данных, как указано здесь . Но вы должны иметь в виду две вещи:

  1. Из официальной документации

    Внимание. При использовании настраиваемого макета уведомлений обратите особое внимание на то, чтобы ваш пользовательский макет работал с различными ориентациями и разрешениями устройств. Хотя этот совет относится ко всем макетам View, это особенно важно для уведомлений, поскольку пространство в ящике уведомлений очень ограничено. Не делайте слишком сложным свой собственный макет, и обязательно проверяйте его в различных конфигурациях.

  2. У пользовательских макетов уведомлений есть некоторые ограничения. Слишком длинные тексты не показаны полностью, но 10-15 слов, вероятно, подходят для пользовательского макета. Этот ответ содержит больше информации об ограничении пользовательских макетов уведомлений