Текст уведомления на экране блокировки

Я создаю и простое приложение для Android. У меня проблемы с уведомлением. Когда приложение получает уведомление, оно показывает его правильно в виде заголовка со всеми изображениями и текстом, а на экране блокировки, если телефон заблокирован, текст не отображается. Чтобы увидеть текст, мне нужно смахнуть уведомление вниз.

Это код:

NotificationCompat.BigTextStyle bigText = new NotificationCompat.BigTextStyle();
            bigText.bigText(body);

            NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                    .setSmallIcon(R.drawable.ic_stat_luceterna_notifica_90)
                    .setContentTitle("Luceterna")
                    .setLargeIcon((((BitmapDrawable) this.getResources().getDrawable(R.mipmap.ic_launcher_lux)).getBitmap()))
                    .setAutoCancel(true)
                    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC);

            mBuilder.setStyle(bigText);

            Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

            mBuilder.setSound(alarmSound);

            NotificationManager mNotificationManager = (NotificationManager) context
           .getSystemService(Context.NOTIFICATION_SERVICE);

Кто-нибудь может мне помочь? Никак не могу найти ответ на проблему.

Заранее спасибо.


person Mirco Paronetto    schedule 19.11.2015    source источник
comment
Извините, я забыл последнюю строку кода: mNotificationManager.notify(MESSAGE_NOTIFICATION_ID, mBuilder.build());   -  person Mirco Paronetto    schedule 20.11.2015


Ответы (2)


Я знаю, что прошло много времени с тех пор, как вы задали этот вопрос, но сегодня я столкнулся с той же проблемой и нашел решение.

Чтобы решить эту проблему, необходимо переопределить NotificationCompat setContentTitle и setContentDescritption.

С BigTextStyle: setBigContentTitle и bigText Вы должны использовать их оба, с одним и тем же текстом внутри. Итак, ваш код будет выглядеть так:

String title = "Title";
String description = "Description";

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle();
bigTextStyle.setBigContentTitle(title);
bigTextStyle.bigText(description);

NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
            .setPriority(NotificationCompat.PRIORITY_MAX)
            .setContentTitle(title)
            .setContentText(description)
            .setSmallIcon(R.drawable.ic_launcher)
            .setStyle(bigTextStyle);


NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
person pitagoras3    schedule 30.01.2018

NotificationCompat.Builder mBuilder =   new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher) // notification icon
            .setContentTitle("Notification!") // title for notification
            .setContentText("Hello word") // message for notification
            .setAutoCancel(true); // clear notification after click
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pi = PendingIntent.getActivity(this,0,intent,Intent.FLAG_ACTIVITY_NEW_TASK);
mBuilder.setContentIntent(pi);
NotificationManager mNotificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());

Пример вам в помощь

person Pramod Mg    schedule 19.11.2015