15

setAllowDataTypeAPI 26 中调用了一个新函数RemoteInput.Builder。它是做什么用的?我尝试了以下方法:

val remoteInput = RemoteInput.Builder(KEY_TEXT_REPLY)
            .setLabel("Image")
            .setAllowFreeFormInput(false)
            .setChoices(null)
            .setAllowDataType("image/*", true)
            .setAllowDataType("image/png", true)
            .setAllowDataType("image/jpg", true)
            .setAllowDataType("image/gif", true)
            .build()

应该设置isDataOnlytrueRemoteInput但通知在手机上显示如下。点击Image按钮什么都不做。这个是来做什么的?我找不到有关此功能的任何文档、发行说明或教程。


更新

实际发布时,通知中似乎缺少仅数据类型。查看构建器代码,添加Actions到通知时,它使用级别 24 完全去除数据类型:https ://android.googlesource.com/platform/frameworks/support/+/oreo-release/compat/api26/ android/support/v4/app/NotificationCompatApi26.java#108

原来的问题仍然存在。

4

2 回答 2

0

文档中它说如下:

指定用户是否可以提供任意值。这允许输入接受非文本值。使用示例是需要音频或图像的输入。

所以,我相信如果我没看错的话,这个功能setAllowDataType就是在输入字段中添加允许的类型。因此,如果用户想要添加 gif、img 等……他们可以。默认情况下,我不相信用户可以添加这些类型的项目。

于 2020-03-14T21:52:27.640 回答
0

在 Android 12 上,您现在可以使用.setAllowDataType("image/*", true)withRemoteInput通过通知回复功能接受图像回复。

没有选择图像的按钮,但许多键盘提供将贴纸或 ​​gif 直接粘贴到通知中的功能。

于 2021-12-01T14:17:33.743 回答