android 输入法demo

news/2025/2/20 20:55:53/

背景:

一个简单的android输入法demo,支持输入png、gif,jpeg、webp等格式。

 

此示例演示如何编写一个应用程序,该应用程序接受使用 Commit Content API 从键盘发送的丰富内容(例如图像)。

用户通常希望通过表情符号、贴纸和其他类型的丰富内容进行交流。在以前版本的 Android 中,软键盘(输入法编辑器或 IME)只能向应用程序发送 unicode 表情符号。对于丰富的内容(例如图像),应用程序必须构建无法在其他应用程序中使用的特定于应用程序的 API,或者使用解决方法,例如通过轻松共享操作或剪贴板发送图像。

现在在 Android 7.1 (API 25) 中,Android SDK 包含Commit Content API,它为 IME 提供了一种通用方法,可将图像和其他丰富内容直接发送到应用中的文本编辑器。v13 支持库(版本 25.0)中也提供了该 API,支持早于 Android 3.2 (API 13) 的设备。

通过此 API,您可以构建从任何键盘接受丰富内容的消息应用程序,以及可以向任何应用程序发送丰富内容的键盘。

注意:此示例没有默认活动。安装后,您需要导航到“设置”>“语言和输入法”>“虚拟键盘”>“管理键盘”,将此应用程序启用为键盘。然后,可以通过在文本字段中按显示屏右下角的虚拟键盘图标来访问该键盘。

代码地址:GitHub - szdenny2/input-samples: Multiple samples showing the best practices in input on Android.

直接打开CommitContentSampleIME这个目录即可,注意:

需要手动去输入法里面激活输入法+切换输入法,然后要找个可以支持粘贴图片的控件才可以用,比如app版本的word等。


http://www.ppmy.cn/news/1074422.html

相关文章

【XAMPP】启动数据库Error: MySQL shutdown unexpectedly.

问题: 启动MySQL时报错如下: Error: MySQL shutdown unexpectedly. This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method. Press the Logs button to view error logs and check…

ACM模式数组构建二叉树Go语言实现

目的 想输入一个数组,然后构造二叉树 例如数组为[6, 2, 8, 0, 4, 7, 9, -1, -1, 3, 5] 对应的二叉树为: 参考资料 ACM模式数组构建二叉树 重点:如果父节点的数组下标是i,那么它的左孩子下标就是i*21,右孩子下标就是…

【【萌新的STM32学习23----数据通信的基本类型】】

萌新的STM32学习23----数据通信的基本类型 数据通信的基本概念 数据通信方式可以分为串行通信,并行通信 串行通信: 数据逐位按顺序依次传输 并行: 数据各位通过多条线同时传输 串行通信: 传输效率低,抗干扰能力强&am…

针对java中list.parallelStream()的多线程数据安全问题我们采用什么方法最好呢?

当使用List.parallelStream()方法进行多线程处理时,可能会涉及到数据安全问题。下面是一些常见的方法来处理parallelStream()的多线程数据安全问题: 1. 使用线程安全的集合:Java中提供了线程安全的集合类,如CopyOnWriteArrayList…

【ARM】Linux内核驱动之定时器

❤️作者主页:凉开水白菜 ❤️作者简介:共同学习,互相监督,热于分享,多加讨论,一起进步! ❤️点赞 👍 收藏 ⭐再看,养成习惯 订阅的粉丝可通过PC端文末加我微信,可对文章的内容进行一对一答疑! 定时器 简介❤函数介绍定时器结构体 timer_list初始化定时器结构体添加…

互联网服务垄断风险及治理

数据显示,SK 电讯当时的 LTE-A 商用网络的平均数据传输速度已达 102Mbps,是同期美国平均家庭宽带速度的 10 倍。中国的信息基础设施因政策制度 导致产业垄断后果,网速世界排名在 80 位以后。根据 Akamai 公司发布的《2014 年第四季度互联网…

FreeRTOS源码分析-13 内存管理

1 STM32编译过程及程序组成 1.1STM32编译过程 从源文件到.o文件,使用了armcc工具和armasm工具,这些keil帮我们实现了。.o不是可执行文件,只是目标文件。因为地址没有定义,没有在rom中定义地址从.o文件到镜像文件使用了armlink&am…

Linux之Shell(二)

Linux之Shell 函数系统函数basenamedirname 自定义函数 正则表达式入门常规匹配常用特殊字符 文本处理工具cutawk 综合应用案例归档文件发送消息 函数 系统函数 basename 基本语法 basename [string / pathname] [suffix] 功能描述:basename 命令会删掉所有的前缀…