安卓开发剪贴板问题

2022 年 6 月 1 日
 winsonwen

公司想做一个功能,监听剪贴板的实时变化,有新的内容复制时第一时间进行处理。

我用了这个接口:ClipboardManager.addPrimaryClipChangedListener 问题是只能监听在自己应用中复制出来的内容,无法监听应用外的复制 [实时监听] ,如从微信中复制了一块内容。

有什么办法能监听到自己应用外的复制情况呢?(不想要通过轮询去读剪贴板的内容的变化)

还是说这是系统的限制,不给监听自己应用外的复制?

16366 次点击
所在节点    Android
35 条回复
yfugibr
2022 年 6 月 1 日
😅
cvooc
2022 年 6 月 1 日
你这个实时监听过分了兄弟...这都不只是安全的问题了,
没辙,现在一般的通用做法是,当应用从后台切前台的时候无脑读一次剪切板然后处理内容,主流的几个应用都是这么做的
singerll
2022 年 6 月 1 日
gam2046
2022 年 6 月 1 日
降低系统版本可行,Android 10 开始已经不允许后台应用读取剪贴板。

https://developer.android.com/about/versions/10/privacy/changes?#clipboard-data
codehz
2022 年 6 月 1 日
做成输入法然后设置成默认就可以实时读取了
或者用 https://github.com/Kr328/Riru-ClipboardWhitelist 这个模块( zygisk 也可用)即可让其他软件后台监听剪切板变化了
yjim
2022 年 6 月 1 日
啥 APP ?
learningman
2022 年 6 月 1 日
要是支持这个功能,你的手机上有几个国产应用,clipboard 上就有几个 listener
yuyu2140
2022 年 6 月 1 日
未 ROOT 情况下,普通应用在 Android 10 之后想后台监听剪贴板,几乎不可能。不过前段时间研究了下,做了一个可能让剪贴板只被使用一次的 Android App 。
几个思路供你参考:
yuyu2140
2022 年 6 月 1 日
1. 实现无障碍服务监听全局复制、剪切和粘贴的点击事件 。
2. 赋予 android.permission.READ_LOGS 权限,同时实现 addPrimaryClipChangedListener 方法,在部分品牌手机上可使用 logcat 捕获复制的 error 日志,实现剪切板的实时响应通知。
3. 有了剪切板内容变更通知,就可以实现一个透明悬浮窗,使 App 获取到焦点后(即 App 进入前台)然后可以进行剪贴板读取操作,这对于用户是无感知的。
robot1
2022 年 6 月 1 日
助纣为虐
ClaudeCode
2022 年 6 月 1 日
???
sangleft
2022 年 6 月 1 日
有没有可能用户并不想让你随时监听?😅
Buges
2022 年 6 月 1 日
我现在对流氓应用完全禁用读取剪贴板,无论前台后台,专门针对那种到前台后立马读取的。
需要输入的利用 gbord 输入剪贴板的内容。
cyningxu
2022 年 6 月 1 日
有没有可能你自己也不愿意被任意 APP 监听你所复制的东西?别搞这些了,Android 生态需要大家来维护
ncepuzs
2022 年 6 月 1 日
😡😡😡
lqzhgood
2022 年 6 月 1 日
我还想做个在其他设备上 Ctrl c
安卓手机上写入剪贴板的 app 看来也没法做了
docx
2022 年 6 月 1 日
听我说,谢谢你🐶
wanacry
2022 年 6 月 1 日
这功能能做成 然后用正则分析一下虚拟货币地址的私钥 上传到服务器 还真是美滋滋呢
kwanzaa
2022 年 6 月 2 日
啥 APP ,提前拉黑。
liuidetmks
2022 年 6 月 2 日
什么公司啊,大智慧,大聪明。
这种行为,可以去工信部写表扬信的

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

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

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

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

© 2021 V2EX