Android NotificationCompat.Builder addPerson пример
Я ищу пример метода NotificationCompat.Builder addPerson.
Из документации видно, что я могу предоставить CONTENT_LOOKUP_URI контакта или что система также может разрешать схемы mailto: или tel:.
Учитывая это, вот мой тест:
- Я создал эмулятор Android P
- Я добавил контакт к поставщику контактов (через приложение Контакты) с адресом электронной почты foo@bar.com
Затем я использовал схему mailto: со следующим кодом:
private fun createNotification(contactEmail: String) {
val mBuilder = NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_chat_black_24px)
.setContentTitle("Contact found")
.setContentText("Contact $contactEmail")
.setShowWhen(true)
.addPerson("mailto:$contactEmail")
val mNotificationManager = NotificationManagerCompat.from(this)
mNotificationManager.notify(1, mBuilder.build())
}
Уведомление отображается хорошо, но я не вижу связи с контактом или лицом. Как это должно выглядеть и как узнать, сработало ли это? Поскольку я ничего не могу заметить (даже журнал), я предполагаю, что это не работает.
Кроме того, если вы не используете схему mailto: или tel: как вы должны получить CONTENT_LOOKUP_URI контакта?
Любой указатель или пример кода поможет. Спасибо!
1 ответ
В документации говорится: "В зависимости от предпочтений пользователя, эта аннотация может позволить уведомлению проходить через фильтры прерываний и появляться более заметно в пользовательском интерфейсе". Так что, я думаю, чтобы протестировать эту функцию, вам нужно зайти в настройки эмулятора -> звук -> не беспокоить, здесь вы видите исключения. В режиме "Не беспокоить", если передаваемый вами адрес электронной почты принадлежит кому-то из "исключений", уведомление будет отображаться иначе, но не будет.