手机收到验证码短信,直接出现在输入法上是如何实现的?

2025 年 1 月 23 日
 guoziq09
网上搜了很多,但是没看到在输入法上的.点一下自动输入这种....
6680 次点击
所在节点    Android
9 条回复
zzNucker
2025 年 1 月 23 日
手机 OS 实现的功能吧,可能没开放给开发者?
little_cup
2025 年 1 月 23 日
Google 输入法的话可以由 SMS Retriever API 拿到 https://developers.google.com/identity/sms-retriever/overview
其他的话识别复制到剪贴板就会显示了。
可以来体验我的 app 通知滤盒,识别到验证码后复制到剪贴板 10s 然后擦除还原。
再安装我写的剪纸云的话还可以自动同步到 PC/Mac (
guoziq09
2025 年 1 月 23 日
@little_cup 我看过这个 api,这个似乎是需要自己应用的哈希值,验证码发送的内容需要获取到该 hash 才能获取到?
guoziq09
2025 年 1 月 23 日
@little_cup 我说的是那种收到一个验证码,输入法的提示上就有该验证码,点击自动就输入到对应的输入框中了
guoziq09
2025 年 1 月 23 日
@zzNucker 是的.我在找这个实现- -但是都没搜到
billlee
2025 年 1 月 23 日
Google 输入法的话,最近复制到剪贴板的内容就会出现在输入法候选里。只要短信应用把验证码复制到剪贴板就行了。
DIO
2025 年 1 月 24 日
adb shell input text?
skallz
2025 年 1 月 24 日
@zzNucker 我也怀疑是私有 api ,只有极少数 app 有看到过这个功能,大部分 app 都没有,应该是和手机厂商的 py 交易?
loopq
2025 年 1 月 24 日
很早的实现思路,以前面试还问过,当时回答的是 自定义 BroadCast 监听短信事件,但 Android 已经迭代了这么多版本了,对于这种隐私的权限都收紧了,不清楚具体实现有什么兼容性问题。

问了 GPT ,完整的思路是 BroadcastReceiver 来接收短信 或者 上面提到的 SmsRetriever API ,点击验证码时 获取当前选中的 InputConnection.commitText ,未实现仅提供思路~

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

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

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

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

© 2021 V2EX