问题标签 [remote-input]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2952 浏览

android - 如何通过 NotificationListener 使用 Android Nougat 的直接回复功能?

我的应用程序正在使用NotificationListener读取来自各种 3rd 方应用程序的消息,例如 WhatsApp。

到目前为止,如果只有一个聊天未读,我能够发送回复,代码如下。

但是,在 WhatsApp 的情况下,getNotification().actions当两个以上的聊天未读时返回一个空对象,因为消息是捆绑在一起的。如下图所示,如果通知被扩展,也可以选择发送直接回复,因此我确定可以使用此方法,而且我认为像 PushBullet 之类的应用程序正在使用这种方法。

我如何访问该通知的 RemoteInput?

上面代码如何工作的一些解释:一旦收到通知,应用程序就会尝试获取操作并检查名称是否在 remoteInput 的标题中(通常是“回复 $NAME”的格式),如果是发现Action被保存到ReplyIntentSender类中,当被触发时sendNativeIntent,循环遍历该Action的所有RemoteInputs并将消息添加到intent中。如果多个聊天未读,则getNotification().actions返回 null。

下面是两个屏幕截图,第一个可以正常工作,第二个没有问题。

我可以回复此消息

我无法回复此消息

0 投票
2 回答
195 浏览

android - 如何在 RemoteInput 中指定最小和/或最大长度

我在我的 Android N 通知中使用 RemoteInput。

我想为输入设置最小和最大文本长度限制。

谷歌环聊得到了这个(即当用户输入至少 1 个字符时,发送按钮启用)。任何人都知道如何做到这一点?我试图检查 Android 文档但没有运气。

0 投票
1 回答
426 浏览

android-notifications - Nougat RemoteInput:文本字段的颜色

我已经在我的应用程序中实现了RemoteInput,但是文本字段区域显示为灰色背景 abd 我希望它是蓝色的,如下所示:

在此处输入图像描述

有没有办法做到这一点?

UPD:看起来colorPrimary用于此,但我不想在整个应用程序中更改它,只是在通知中

0 投票
0 回答
933 浏览

android - Notification.Action 与多个 RemoteInputs - 为什么以及如何?

TL;DR 版本:我注意到可以为 Android 中的可操作通知分配多个 RemoteInput 实例- 但找不到有用的场景,甚至不确定如何正确使用此潜在功能.

使用 NotificationListenerService (就像在这个示例应用程序中一样)我注意到在启动通知的操作/意图时,我理论上可以选择要填充的远程输入。所以我想知道 Android UI 的默认行为会是什么样子。

我已将此演示应用程序与来自另一个线程的混合使用,以生成一个通知,其操作分配有两个不同的 RemoteInput 实例:

然后,UI(通知顶部栏向下滚动)看起来仍然相同(相同数量的操作按钮)。所以我想也许当用户通过系统通知 UI 执行通知的操作时,两个远程输入都会被使用?因此,我在我添加的 BroadcastReceiver 类中检查了该应用程序,该应用程序首先生成了该通知:

并且似乎只有最后一个要添加到 Action 的 RemoteInput 正在使用。

所以基本上我想知道是否有更好的方法来使用或演示这种场景 - 或者也许这是一个不好的做法?我是否混合了不应该以这种方式使用的不同 API 部分?

编辑:谷歌也尝试了这个例子,唯一的区别(据我所知)是这个使用的是可穿戴式动作/远程输入。在其generateBigPictureStyleNotification函数内部,我添加/更改了以下几行:

但是,就像以前一样,当我尝试从 Android 的通知 UI 回复时,它似乎只填充了最后一个 RemoteInput 键(签入BigPictureSocialIntentService's getMessage())。

0 投票
2 回答
450 浏览

android - RemoteInput 上的 AllowedDataType 是什么?

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

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


更新

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

原来的问题仍然存在。

0 投票
0 回答
167 浏览

android - 如何在android通知直接回复中使用数字键盘?

我想在 android 通知的直接回复中使用数字键盘,并且还想为其设置输入过滤器。

0 投票
1 回答
530 浏览

android - 通知中的操作不执行任何操作

这是我的代码:

但是每当我按下通知时,我都会收到此错误:

0 投票
0 回答
452 浏览

android - NotificationListenerService cancelNotification 不适用于带有回复操作的通知

背景:有两种类型的通知......普通的(旧的传统类型)和自 Lolipop 以来可以有“回复”动作的通知。

我制作了一个 NotificationListenerService,它可以使用命令 cancelNotification 关闭通知(来自任何其他应用程序,而不仅仅是我的),只有当通知是旧的“普通”类型时。但是,如果通知具有“回复”操作(android 佩戴挂起的意图),当我执行 cancelNotification(ID) 时,通知将被删除并“重新发布”在通知栏上重新出现。我可以无休止地尝试删除通知,它们总是会再次出现。

两个命令(只有一个参数和 3 个参数)的行为方式相同。

是否有另一种方法可以忽略一条提示“wearableExtender”回复的消息?

满足所有先决条件:

添加 -> android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" 并且“通知访问”处于活动状态并已检查。

0 投票
1 回答
825 浏览

android - 如何使用android远程输入将额外数据传递给广播接收器

我已经看到了这个问题的几个重复项,所以如果我错过了一个,我很抱歉,但我发现没有一个有解决方案,例如这里我正在尝试做与此相同的事情尽管。我想使用直接回复(消息样式)通知,但我需要添加一些额外的数据(recipientId 等),我很困惑我可以在哪里添加这些额外的数据,我的意图、待处理意图和 RemoteInput 的代码看起来像这个

现在要发送额外的数据,我尝试将其添加为字符串

并作为捆绑

在意图和作为 RemoteInput 的一部分

并在尝试取回数据时,我尝试从 onReceive 意图中将其作为字符串或捆绑包获取

但似乎没有什么对我有用的结果总是在另一边为空(发送时数据绝对不为空)有人可以告诉我如何添加意图数据并在另一边检索它吗?

更新

好的,它现在可以工作了

并接收它我在 onReceive 中使用它

0 投票
0 回答
235 浏览

android - 如何在直接回复 Android 上更改发送按钮的图标

我创建了一个通知,其中包含RemoteInput将注释添加到我的应用程序的特定条目中的操作,如下所示:

在此处输入图像描述

这向我展示了一个执行ADD-NOTE如下操作的输入字段:

在此处输入图像描述

在这里,我不想使用默认的发送图标,而是想更改它以适合我的操作。

到目前为止,我没有遇到任何事情来实现这一点,让我知道是否可能?以及如何去做。