公司想做一个功能,监听剪贴板的实时变化,有新的内容复制时第一时间进行处理。
我用了这个接口:ClipboardManager.addPrimaryClipChangedListener 问题是只能监听在自己应用中复制出来的内容,无法监听应用外的复制 [实时监听] ,如从微信中复制了一块内容。
有什么办法能监听到自己应用外的复制情况呢?(不想要通过轮询去读剪贴板的内容的变化)
还是说这是系统的限制,不给监听自己应用外的复制?

公司想做一个功能,监听剪贴板的实时变化,有新的内容复制时第一时间进行处理。
我用了这个接口:ClipboardManager.addPrimaryClipChangedListener 问题是只能监听在自己应用中复制出来的内容,无法监听应用外的复制 [实时监听] ,如从微信中复制了一块内容。
有什么办法能监听到自己应用外的复制情况呢?(不想要通过轮询去读剪贴板的内容的变化)
还是说这是系统的限制,不给监听自己应用外的复制?
1 yfugibr Jun 1, 2022 via Android |
2 cvooc Jun 1, 2022 你这个实时监听过分了兄弟...这都不只是安全的问题了, 没辙,现在一般的通用做法是,当应用从后台切前台的时候无脑读一次剪切板然后处理内容,主流的几个应用都是这么做的 |
3 singerll Jun 1, 2022 这 |
4 ntdll Jun 1, 2022 降低系统版本可行,Android 10 开始已经不允许后台应用读取剪贴板。 https://developer.android.com/about/versions/10/privacy/changes?#clipboard-data |
5 codehz Jun 1, 2022 做成输入法然后设置成默认就可以实时读取了 或者用 https://github.com/Kr328/Riru-ClipboardWhitelist 这个模块( zygisk 也可用)即可让其他软件后台监听剪切板变化了 |
6 yjim Jun 1, 2022 啥 APP ? |
7 learningman Jun 1, 2022 要是支持这个功能,你的手机上有几个国产应用,clipboard 上就有几个 listener |
8 yuyu2140 Jun 1, 2022 未 ROOT 情况下,普通应用在 Android 10 之后想后台监听剪贴板,几乎不可能。不过前段时间研究了下,做了一个可能让剪贴板只被使用一次的 Android App 。 几个思路供你参考: |
9 yuyu2140 Jun 1, 2022 1. 实现无障碍服务监听全局复制、剪切和粘贴的点击事件 。 2. 赋予 android.permission.READ_LOGS 权限,同时实现 addPrimaryClipChangedListener 方法,在部分品牌手机上可使用 logcat 捕获复制的 error 日志,实现剪切板的实时响应通知。 3. 有了剪切板内容变更通知,就可以实现一个透明悬浮窗,使 App 获取到焦点后(即 App 进入前台)然后可以进行剪贴板读取操作,这对于用户是无感知的。 |
10 robot1 Jun 1, 2022 助纣为虐 |
11 ClaudeCode Jun 1, 2022 ??? |
12 sangleft Jun 1, 2022 有没有可能用户并不想让你随时监听? |
13 Buges Jun 1, 2022 via Android 我现在对流氓应用完全禁用读取剪贴板,无论前台后台,专门针对那种到前台后立马读取的。 需要输入的利用 gbord 输入剪贴板的内容。 |
14 cyningxu Jun 1, 2022 有没有可能你自己也不愿意被任意 APP 监听你所复制的东西?别搞这些了,Android 生态需要大家来维护 |
15 ncepuzs Jun 1, 2022 |
16 lqzhgood Jun 1, 2022 via iPhone 我还想做个在其他设备上 Ctrl c 安卓手机上写入剪贴板的 app 看来也没法做了 |
17 docx Jun 1, 2022 via iPhone 听我说,谢谢你 |
18 wanacry Jun 1, 2022 via iPhone 这功能能做成 然后用正则分析一下虚拟货币地址的私钥 上传到服务器 还真是美滋滋呢 |
19 kwanzaa Jun 2, 2022 啥 APP ,提前拉黑。 |
20 liuidetmks Jun 2, 2022 什么公司啊,大智慧,大聪明。 这种行为,可以去工信部写表扬信的 |
21 wangtian2020 Jun 2, 2022 抖音天天弹通知但是我又从来不看,有一天火大了,我直接去把它所有权限全关了 |
22 nishuoshenme Jun 2, 2022 是开发者,但也是用户啊兄弟 |
23 debuggeeker Jun 2, 2022 其实我很理解楼主的想法,比较作为一个开发,接到的只是一个需求,身不由己。 但是你可以了解下 10 之后的情况,说明下这个系统限制,做不到。要么就是一直轮询,听听产品意见。如果他同意一直轮询,你写代码就是了,没必要纠结漂不漂亮代码了,至于耗电,发热,什么的就别管了,那是需求。 然后开开心心写完代码过节吧。 |
24 darkengine Jun 2, 2022 @debuggeeker 我都想到加轮询后的结果了:app 在后台被回收导致无法轮询到剪切板的变化,老板 /产品经理提出要做保活 |
25 cyningxu Jun 2, 2022 @darkengine 还有种可能,由于目前国内各系统权限使用越来越清晰了,导致设置里看到 app 疯狂读取剪切板,老板 /产品经理提出功能要继续生效,但系统设置里的读取剪切板要显示为 0 |
26 kuyuzhiqi Jun 2, 2022 就是你们这帮公司多了,才会出现各种隐私问题,还好意思在这问 |
27 storyxc Jun 2, 2022 想请问下贵公司的产品是 to C 的吗,如果是的话能否告知个名字,避个雷。 |
28 NSAgold Jun 2, 2022 via Android @lqzhgood kde connect ( doge ) 安卓 10 之后需要 root 之后解除限制才能让 app 后台读写剪贴板,所以自己写不是完全不可行 |
29 woyaojizhu8 Jun 3, 2022 非法入侵计算机系统罪? |
31 debuggeeker Jun 6, 2022 @darkengine 2022 年还想保活啊,哈哈哈哈哈,那恭喜你。 |
33 winsonwen OP @debuggeeker 谢谢理解,谢谢你的建议,确实身不由已啊。。 |
34 rev1si0n Jun 6, 2022 各位其实没必要这么激动,现成的,你手边的淘宝就会在你切到 APP 时把你的剪切板传上去,美其名曰 “淘口令”,实际还是个 GET 请求,真就不担心被自己人日志分析,传的还真就是你剪切板完整内容,恶心的要死。 |