Добавить изображение контакта в MessagingStyle уведомление «Персона» - PullRequest
0 голосов
/ 31 марта 2019

Я бы хотел, чтобы в мои уведомления входило изображение контакта. Я использую NotificationCompat и MessagingStyle отображают сообщения чата для контактов.

Это работает при использовании .setIcon на человеке, но изображение квадратное, поэтому я хотел бы использовать setUri, но оно не отображает изображение, вместо этого я вижу первый инициал контакта по кругу.

Вот код, который я использую для уведомления.

Person person = new Person.Builder()
//                .setIcon(contactIcon)
                .setName(displayName)
                .setUri(contentLookupURI)
                .setKey(contactDetail)
                .build();

NotificationCompat.MessagingStyle chatMessageStyle = new NotificationCompat.MessagingStyle(person);

NotificationCompat.MessagingStyle.Message notificationMessage = new
                NotificationCompat.MessagingStyle.Message(
                contentText,
                System.currentTimeMillis(),
                person
        );
        chatMessageStyle.addMessage(notificationMessage);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, NOTIFICATION_MESSAGES_CHANNEL_ID)
                .setSmallIcon(icon) // notification icon
                .setPriority(NotificationCompat.PRIORITY_HIGH)
                .setStyle(chatMessageStyle)
                .setOnlyAlertOnce(true)
                .setContentTitle(displayName); 

А для контактного URI, используемого в .setUri Я использую библиотеку для получения идентификатора контакта и ключа поиска, затем использую метод:

 contactLookupURI = 
 ContactsContract.Contacts.getLookupUri(contactsList.get(0).getId(), 
 contactsList.get(0).getLookupKey());

Который производит это: content://com.android.contacts/contacts/lookup/3118r4-2F294339313F5B16.3789r5-2F294339313F5B16/6, что мне кажется правильным.

example notification

Я не уверен, насколько новой является эта форма метода MessagingStyle, так как я не могу найти много примеров его использования с объектом Person.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...