2013-05-09 15 views
23

Meine Android-Anwendung muss in der Lage sein, kurze Warnungen an eine große Gruppe von Menschen zu senden. Der naheliegende Ort dafür ist im Benachrichtigungszentrum. Die vollständige Benachrichtigung wird im Ticker ohne Probleme angezeigt, aber in der Benachrichtigungszentrale kann ein Benutzer nur die ersten paar Wörter und dann eine Elipsis sehen. Die Benachrichtigungen sind überhaupt nicht lang, nur 10-15 Wörter höchstens. Wie kann ich den Text auf eine neue Zeile umbrechen lassen?Android Notification- Display volle Nachricht

Mein Code die Benachrichtigungen zu bauen, ist hier

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

Antwort

42

großer Teil des Textes anzuzeigen, die BigTextStyle zu verwenden. Hier ist ein Beispielcode wie in BigTextStyle angegeben. Diese Benachrichtigung wird eine Textzeile enthalten und bei Bedarf auf weitere Zeilen erweitert.

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

für Android Support-Bibliothek

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(); 
+0

Big Views hat nicht vor 4.1 unterstützt, würde ich etwas, das mehr unterstützt wird – centree

+7

'setStyle (neu NotificationCompat.BigTextStyle(). BigText (aVeryLongString))' – likejiujitsu

+0

@centree Verwenden Sie NotificationCompat, um die neueren Benachrichtigungsfunktionen auf älteren Geräten zu unterstützen. http://developer.android.com/reference/android/support/v4/app/NotificationCompat.html – pmont

4

Für Android 4.1 und höher Geräte, Großansicht ist die am besten geeignete Lösung große Menge an Text zu zeigen. Bei Geräten vor Version 4.1 können Sie das benutzerdefinierte Benachrichtigungslayout verwenden, um mehr Daten anzuzeigen, wie z. B. here. Aber Sie sollen zwei Dinge im Auge behalten:

  1. Von official documentation

    Achtung: Wenn Sie ein benutzerdefinierte Benachrichtigung Layout verwenden, besondere Sorgfalt walten lassen, um sicherzustellen, dass Ihr benutzerdefiniertes Layout mit verschiedenen Geräten Orientierungen und Auflösungen arbeitet. Dieser Hinweis gilt zwar für alle Ansichtslayouts, ist jedoch besonders wichtig für Benachrichtigungen, da der Speicherplatz in der Benachrichtigungsleiste sehr eingeschränkt ist. Machen Sie Ihr benutzerdefiniertes Layout nicht zu komplex und testen Sie es in verschiedenen Konfigurationen.

  2. Benutzerdefinierte Benachrichtigungslayouts weisen einige Einschränkungen auf. Zu lange Texte werden nicht vollständig angezeigt, aber wahrscheinlich passen 10-15 Wörter zum benutzerdefinierten Layout. This answer weitere Informationen über die Begrenzung der benutzerdefinierten Benachrichtigung Layouts
Verwandte Themen