如何调试通知中的智能回复?

时间:2019-09-18 14:52:08

标签: android android-emulator

随着Android 10的发布,他们在通知内部宣布了一项名为Smart Reply的新功能(已存在于Gmail /邮件应用中)。

现在,我们的应用程序中有很多关于通知的代码,并且我们经常使用它们。出于明显的原因,我想测试我们当前的实现是否可以与那些新的system generated contextual actions一起正常工作。

有人知道如何使用Android 10模拟器手动触发通知中的智能回复吗?我一直试图使它们整天出现(通过在我的应用中创建虚假通知并更改其内容,例如用地址,电话号码填充内容),但没有成功。

谢谢!

1 个答案:

答案 0 :(得分:0)

您的通知有回复动作吗?

val remoteInput = RemoteInput.Builder(BigPictureSocialIntentService.EXTRA_COMMENT)
                    .setLabel(replyLabel)
                    .setChoices("Yes","No")// hardcoded responses for Android P
                    .build()

如果您对setChoices(listOfReplies)进行了硬编码,系统将无法提供智能回复。

//When you build action setAllowGeneratedReplies to true
val replyAction = NotificationCompat.Action.Builder(
                    R.drawable.ic_reply_white_18dp,
                    replyLabel,
                    replyActionPendingIntent)
                    .addRemoteInput(remoteInput)
                    .setAllowGeneratedReplies(true)
                    .build()

//将建议的操作的setAllowSystemGeneratedContextualActions设置为true

               .notificationCompatBuilder.setStyle()
                .setContentTitle(contentTitle)
                .setContentText("Hey lets meet for dinner at xx sretee Rd, New York Postocde")
                .setSmallIcon(R.drawable.ic_launcher)
                .setLargeIcon(BitmapFactory.decodeResource(
                        resources,
                        R.drawable.ic_person_black_48dp))

                .setAllowSystemGeneratedContextualActions(true)
                .setSubText(Integer.toString(1))
                .addAction(replyAction)

话虽如此,当前的仿真器未提供任何智能答复,我尚未在运行10的实际设备上对其进行测试

还要确保在notif设置中启用了智能回复enter image description here