问题标签 [gboard]

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 投票
0 回答
359 浏览

java - Firebase App Indexing 和 Gboard 贴纸包:hasSticker vs isPartOf vs partOf

在这个贴纸和贴纸包的 Firebase App Indexing 示例代码中,似乎有两种不同的方法可以将“贴纸”与“贴纸包”相关联。

在方法 1 中,您创建一个 StickerPack,然后通过使用名为“hasSticker”的键调用 put 将贴纸与它关联:

方法#1

在方法 2 中,您创建一个 Sticker,然后通过使用名为“isPartOf”的键调用 put 将 StickerPack 与它关联:

方法#2

为了搅浑水,在这个官方的 google firebase quickstart for app-indexing on github中,他们使用 hasSticker 和 isPartOf 方法遇到了一些麻烦。为了使它更有趣,“isPartOf”已将其名称更改为“partOf”:

在定义 Sticker 及其与 StickerPack 的关系时,同时使用“hasSticker”和“isPartOf”有什么好处——或者只是其中一个就足够好了吗?

哪个是正确的:“partOf”或“isPartOf”——或者两者都是正确的?

0 投票
3 回答
9786 浏览

android - Gboard:在 EditText 上启用 GIF 插入

我在我的应用程序中使用 Google 的Gboard,当我从键盘应用程序输入GIFEditText到我的应用程序时,它会显示吐司

“文本字段不支持从键盘插入 GIF”

我已经搜索了一千次,但找不到结果

任何帮助,将不胜感激。

0 投票
0 回答
202 浏览

java - 如何从 Gboard 获取 gif 和贴纸 uri

我正在尝试将 gboard 贴纸和 gif 集成到我的应用程序中。但不知道如何从 Gboard 获取 uri。尝试在谷歌上搜索。但是没有找到太多关于它的文档。所以需要帮助如何做到这一点。

谢谢你。

0 投票
1 回答
1967 浏览

android - 谷歌键盘 - 插入图像“发送”意图怪异

我正在研究将 Gboard 图像支持添加到我们的应用程序中。

我有以下三个具体问题/问题。

在https://developer.android.com/guide/topics/text/image-keyboard.html看过官方文档

不过有一些奇怪的事情正在发生。

当用户点击 EditText 时,编辑器会发送一个它在 EditorInfo.contentMimeTypes 中接受的 MIME 内容类型列表。

IME 读取支持的类型列表并在软键盘中显示编辑器可以接受的内容。

我读到这也意味着如果应用程序没有设置 EditorInfo.contentMimeType,那么键盘将不会启用 UI 来插入图像。

这不是它在实践中的工作方式。

首先,我看到的是GBoard 显示了几乎所有EditText 的插入图像UI,大概是基于它的inputType。

我尝试创建一个 EditText 子类,覆盖 onCreateInputConnection 并确保 EditorInfo.contentMimeType -> 插入图像 UI 无论如何都会显示。

在不需要的 EditText 上插入图像

我们的应用程序中有几十个 EditText 输入字段(可能更多)在不同的屏幕上。插入动画 GIF 对绝大多数人来说没有意义。

问题 #1 - 如何停止(如果可以)?

顺便说一句,这很容易检查几乎任何应用程序,几乎任何输入字段。例如,在搜索栏中的 Gmail 应用程序中。或者在谷歌浏览器的 URL 输入栏中。

这对大多数应用程序来说是无害的 - 如果您在不支持图像输入的输入字段中选择 GIF(例如上面的示例,Gmail 和 Chrome),GBoard 会显示“类似 toast”的消息“此文本字段不支持'不支持从键盘插入 GIF"。

好的但是:

作为后备,当 GBoard 无法通过 InputConneciton 发送选定的 GIF -> 时,它会尝试启动一个 ACTION_SEND 意图,该意图仅限于应用程序包的 URL 表示图像。

我们的应用程序(电子邮件应用程序)在其清单中有一个意图过滤器,用于 ACTION_SEND 以使用户能够通过电子邮件共享“东西”。诸如图库图像、文件管理器中的文件之类的东西,任何东西。

因此,GBoard 最终启动了带有 ACTION_SEND 和图像 URL 的“电子邮件撰写屏幕”。

这导致另外两个问题:

首先,它让用户感到困惑

假设他/她尝试将 GIF 插入应用程序中的“某些”EditText。

然后,由于 ACTION_SEND - “哇,发生了什么”,他/她将被带到应用程序的“消息撰写”屏幕。

问题 #2 - 如何停止(如果可以)?

其次,无法使用我知道的任何方法打开图像的 URI。

我试过了:

所有这些都因“无效 URI”等变体而失败。

我确实明白,通过为我们想要支持 GIF 的一个或几个输入字段实现 InputConnectionWrapper,我们可以直接从 inputContentInfo 请求权限,如文档中所述。

我说的是另一种情况——我会重申——当用户尝试在我们的应用程序中将 GIF 插入“其他”EditText 并且 GBoard 使用 GIF 的 URI 和 ACTION_SEND 启动我们的“消息撰写”活动时。

目前,我们的代码尝试以与其他任何方式相同的方式处理此 URI(例如,当用户将 Google 照片中的照片分享到我们的应用程序时) - 但打开此 URI 失败,因此用户不仅在撰写屏幕上意外结束,但随后也会出现我们无法打开/复制“附件”的错误。

问题 #3 - 是否可以使用“标准”ContentResolver 方法完全打开使用 ACTION_SEND 发送的 GBoard 图像 URI?

4 月 12 日,更新“问题 #3”(无法打开信息流)。

我们的应用在其清单中使用 sharedUserId。

删除 sharedUserId 并且不进行任何其他更改使得这些动画图像 URI 现在可以使用 cr.openInputStream 打开,无论是在输入连接回调中还是在 ACTION_SEND 中。

虽然可能有不使用 sharedUserId 的原因,但我们的应用程序从 2012 年左右开始就使用了,并且仅仅为了这个功能而删除它是不可能的(因为这会阻止更新)。

URI 看起来像这样,应用程序的包名称编码在一个参数中:

content://com.google.android.inputmethod.latin.inputcontent/inputContent?fileName=%2Fdata%2Fuser_de%2F0%2Fcom.google.android.inputmethod.latin%2Ffiles%2Fgif20152912710254894520&packageName=org.kman.AquaMail&mimeType=image%2Fgif

所以问题#3现在被替换为

问题 #4 - 我们如何向 Google 报告此错误(sharedUserId 导致无法打开图像 URI)?

0 投票
0 回答
119 浏览

android - 有没有办法从android中的键盘获取建议?

我们可以在打字时获得所有在安卓键盘上显示的建议吗?

如果没有,有没有其他方法可以做到这一点?

我尝试使用 SpellCheckerSessionListener,但没有成功。

0 投票
1 回答
917 浏览

android - GBoard 键盘 GIF 贴纸集成

我正在尝试GBoard在我的应用程序中提供支持。我希望用户能够从 GBoard 中选择 GIF。我的onCommitContent样子是这样的:

但我收到以下异常。

没有内容提供者:content://com.google.android.inputmethod.latin

请帮忙。

0 投票
1 回答
3620 浏览

android - 如何像在 iOS 中为 iMessage 一样为 Android 创建贴纸包?

在 Xcode(适用于 iOS 设备)中,我可以简单地单击一个按钮,上面写着“新贴纸包应用程序”,并且(神奇!)它就在那里,无需编码。我只是添加图像并将其上传到应用商店。超级简单!

Android 现在也允许通过 Gboard 使用贴纸。

但是,据我所知,您已经需要一个贴纸应用程序才能按照我能找到的任何指示将其添加到 Gboard。但是,您如何首先创建一个贴纸应用程序?

在上面的两个链接中都引用了这条精彩的语句:“要开始,您需要添加 Firebase App Indexing 库。”

“添加?” 添加什么?

我找到了这个并下载了它,认为它可能是一个模板或其他东西。但我根本无法让它在 Android Studio 中运行。

它确实有这些很棒的说明:“从你的 firebase 项目中获取 Google-service.json。”

“Firebase 项目?” 什么firebase项目?

如何创建一个可以“添加”Firebase App Indexing 库的贴纸包应用程序,以便贴纸应用程序显示在 Gboard 上?在 iOS 中就是这么简单!

我想,也许 Firebase 有贴纸包模板之类的。但据我所知,它们似乎不是。

FWIW,我不反对在必要时编写代码。知道需要编写什么代码真是太好了!以及放在哪里!

一个从一无所有到完成所有一切并上传到应用商店教程的链接绝对很棒。在这一点上,我真正不需要帮助的唯一一件事就是制作 PNG!

提前致谢!

0 投票
0 回答
290 浏览

android - Angular 4 逗号不适用于平板电脑 android 键盘

在我们的 Angular 应用程序中,当在平板电脑上浏览我们的数字输入字段之一时,我在输入时不能使用逗号。我可以使用点、+、数字,但我不能输入逗号,我不知道为什么。

在此处输入图像描述

如您所见,当我点击输入字段“Vrijednost”(克罗地亚语表示“价值”)时,谷歌键盘 GBoard 随即打开。我可以输入点(如图所示),但我不能使用逗号。

我尝试使用 Chrome 浏览器在桌面上执行此操作,我可以使用物理键盘输入逗号,我什至尝试使用 Windows 屏幕键盘,它也可以工作。有什么建议为什么它不能在使用 GBoard 的平板电脑上工作?

component.html 中的网格代码:

0 投票
0 回答
105 浏览

android - 在 Gboard for iOS 中添加自定义贴纸

我创建了一个可在 Android Gboard 中搜索的 Android 贴纸应用程序,借助此处提供的精彩教程和 firebase 应用程序索引。

我的问题是如何为 Gboard for IOS 实现相同的功能?我还没有找到任何资源。

0 投票
0 回答
1826 浏览

android - 在android中将GBoard数字键盘显示为默认值,并可选择切换到左下角的字母键盘

我正在尝试将谷歌键盘数字键盘设置为默认值,但到目前为止还没有运气。下图是数字键盘还可以选择切换到ABC 键盘。通常,当我们只需要字符或数字时,我们可以在editText的inputType中进行相应设置,但是当用户单击 editText 字段时如何将这种数字键盘设置为默认值。也应该能够切换到ABC键盘。

在此处输入图像描述