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 ответ

Решение

В документации говорится: "В зависимости от предпочтений пользователя, эта аннотация может позволить уведомлению проходить через фильтры прерываний и появляться более заметно в пользовательском интерфейсе". Так что, я думаю, чтобы протестировать эту функцию, вам нужно зайти в настройки эмулятора -> звук -> не беспокоить, здесь вы видите исключения. В режиме "Не беспокоить", если передаваемый вами адрес электронной почты принадлежит кому-то из "исключений", уведомление будет отображаться иначе, но не будет.

Другие вопросы по тегам