请问,输入法的粘贴功能是用了什么系统 api 吗?

2022-01-16 11:17:11 +08:00
 GSNote

以讯飞输入法为例,点击一个条目,粘贴到其他软件的光标处。如果自己开发一个剪贴板应用,该怎么做到这一点吗?或者只有输入法才能做到这点?

6399 次点击
所在节点    Android
10 条回复
jinyang656
2022-01-16 11:20:49 +08:00
GSNote
2022-01-16 11:40:34 +08:00
@jinyang656 我有看过这篇文档。它表达的意思应该是在当前程序中(例如笔记程序)主动触发粘贴,而不是在输入法上触发粘贴后粘贴到笔记程序中。
lucybenz
2022-01-16 13:10:50 +08:00
@GSNote 应用程序发起粘贴动作 不就是读取剪贴板中数据么,读取回来自己放到适合的地方; 就像很多 app 启动时读取剪贴板 看看有没有带着口令来
halfdb
2022-01-16 13:44:22 +08:00
楼主说的其实和粘贴没什么关系,楼主想知道的是一个 App 如何在另一个 App 的文本框中输出文字。不了解安卓,我感觉应该是输入法才有的功能
ikas
2022-01-16 13:51:56 +08:00
无非就是在什么时候读系统剪贴板 api,像输入法这样的常驻进程,只要有输入的地方,它自然可以去读一下..

如果不用输入法这样类型,自己写一个,只要想一个触发方式即可....

实际给第三方输入法开剪贴板权限,简直就是给人家送隐私
ohwind
2022-01-16 14:42:45 +08:00
如果你是指输入法,那么输入法本身就可以往第三方 app 里填充数据,它只需要读取剪切板即可。
如果你是指非输入法应用往第三方 app 填充数据,那么你需要"Autofill framework "
https://developer.android.com/guide/topics/text/autofill
ohwind
2022-01-16 14:45:14 +08:00
@halfdb 安卓现在有自动填充服务,我写了个自用的密码管理器,就是通过此功能实现的
janus77
2022-01-16 16:05:41 +08:00
粘贴=输入文字。不要想复杂了兄弟,这就跟 print 差不多
yukiww233
2022-01-16 19:37:51 +08:00
2i2Re2PLMaDnghL
2022-01-17 09:12:01 +08:00
输入法可以触发目标程序的粘贴事件,具体不明
我的输入法是小鹤,但它的粘贴功能不依赖它自己的剪贴板权限,而依赖于被粘贴的软件(比如浏览器)的剪贴板权限( App Ops 设置的权限)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/828525

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX