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