Android- уведомление с несколькими линиями не работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android- уведомление с несколькими линиями не работает

Сообщение Anonymous »

Во -первых, я прочитал это и использую этот простой код для нескольких уведомлений: < /p>

Код: Выделить всё

    public static void notifyMessage()
{
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
int notifyID = 1;
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context);
int numMessages = 0;
builder.setSmallIcon(R.drawable.icon)
.setContentTitle("Event tracker")
.setContentText("Events received")
.setNumber(++numMessages)
.setWhen(System.currentTimeMillis()).setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText("bigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbig"));
Notification notification = builder.build();
notificationManager.notify(1, notification);
< /code>

Это работает. Если длина сообщения больше, чем обычный предел, оно покажет « bigbig ... < /em>».
На следующем шаге я хочу использовать сообщение пользователя, чтобы показать в уведомлении. Итак, я изменил функцию на: < /p>

      public static void notifyMessage(String message , boolean flashLed)
{
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
int notifyID = 1;
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context);
int numMessages = 0;
builder.setSmallIcon(R.drawable.icon)
.setContentTitle("Event tracker")
.setContentText(message)
.setNumber(++numMessages)
.setWhen(System.currentTimeMillis()).setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(message));
if (flashLed)
{
builder.setLights(0xFFFF0000, 500, 500);
}
Notification notification = builder.build();
notificationManager.notify(1, notification);
}
Я пытаюсь показать message вместо " bigbigbig .... ", но всегда он показывает мне короткий тип уведомления. Я также попробовал это:

< /p>

public static void notifyMessage(String message)
{
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);

NotificationCompat.Builder builder = new NotificationCompat.Builder(
context);
NotificationCompat.InboxStyle inboxStyle =
new NotificationCompat.InboxStyle();
String[] events = new String[4];
// Sets a title for the Inbox in expanded layout
events[0] = message.substring(0, 15);
events[1] = message.substring(15, 35);
events[2] = message.substring(35, 55);
events[3] = message.substring(55, 75);
inboxStyle.setBigContentTitle("Event tracker details:");

// Moves events into the expanded layout
for (int i=0; i < events.length; i++) {

inboxStyle.addLine(events);
}
builder.setSmallIcon(R.drawable.icon)
.setContentTitle("Event tracker"")
.setContentText("Events received")
.setWhen(System.currentTimeMillis()).setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setPriority(Notification.PRIORITY_MAX)
.setStyle(inboxStyle);

Notification notification = builder.build();
notificationManager.notify(1, notification);
}
< /code>

Но приложение получает сбою, когда появится новое сообщение. Как изменить вторую или третью функцию?

Подробнее здесь: https://stackoverflow.com/questions/313 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»