You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式触发Gboard软键盘直接进入GIF搜索模式

触发Gboard直接进入GIF搜索模式的实现方案

前提说明

该实现依赖Gboard的私有扩展参数,无通用系统公开API,仅可在安装Gboard的设备上生效。

实现步骤

  1. 配置EditText基础属性
    首先需要开启EditText的富内容接收能力,否则用户选中GIF后无法回传到输入框:
    XML配置示例:
<EditText
    android:id="@+id/inputEt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text|textNoSuggestions"
    android:imeOptions="actionSearch|flagNoExtractUi" />

富内容接收逻辑配置(AndroidX兼容):

// 配置支持接收GIF、图片类富内容
inputEt.setOnReceiveContentListener(
    arrayOf("image/gif", "image/png", "image/jpeg")
) { view, payload ->
    val gifUri = payload.clip.getItemAt(0).uri
    // 此处自行实现GIF插入逻辑:如上传到服务器、插入富文本等
    null
}
  1. 触发Gboard GIF模式唤起
    点击「插入GIF」按钮时,向EditorInfo的扩展字段中注入Gboard可识别的私有标识,即可在唤起软键盘时直接进入GIF搜索页:
gifButton.setOnClickListener {
    // 先让输入框获取焦点
    inputEt.requestFocus()
    // 重写InputConnection创建逻辑,注入Gboard专属参数
    inputEt.onCreateInputConnection = { outAttrs ->
        outAttrs.extras?.putBoolean("gboard_should_open_gif_search", true)
        // 调用原有默认逻辑生成InputConnection
        super.onCreateInputConnection(outAttrs)
    }
    // 弹出软键盘
    val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
    imm.showSoftInput(inputEt, InputMethodManager.SHOW_IMPLICIT)
}

效果示例

  • 普通输入模式唤起Gboard效果:
    普通模式
  • 注入参数后直接进入GIF搜索模式效果:
    GIF模式

注意事项

  • 若需要恢复普通输入模式,可在输入框失去焦点时清空outAttrs.extras中的gboard_should_open_gif_search参数,避免后续唤起键盘始终停留在GIF模式
  • 该逻辑仅对Gboard生效,其他输入法无对应私有标识,不会触发该效果

内容的提问来源于stack exchange,提问作者Ezequiel Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:48:04