0

我正在寻找 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

任何指针或代码示例都会有所帮助。谢谢 !

4

1 回答 1

0

文档指出:“根据用户偏好,此注释可能允许通知通过中断过滤器,并在用户界面中更显眼地出现。” 所以我想测试这个功能你应该进入你的模拟器设置->声音->不要打扰这里你会看到异常。在请勿打扰模式下,如果您传递的电子邮件地址属于“例外”中的某人,则将显示通知,否则不会显示。

于 2018-07-25T13:28:38.667 回答