安卓开发剪贴板问题

2022-06-01 14:50:34 +08:00
 winsonwen

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

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

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

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

11785 次点击
所在节点    Android
35 条回复
yfugibr
2022-06-01 14:52:38 +08:00
😅
retrocode
2022-06-01 14:56:40 +08:00
你这个实时监听过分了兄弟...这都不只是安全的问题了,
没辙,现在一般的通用做法是,当应用从后台切前台的时候无脑读一次剪切板然后处理内容,主流的几个应用都是这么做的
singerll
2022-06-01 14:57:22 +08:00
gam2046
2022-06-01 14:58:16 +08:00
降低系统版本可行,Android 10 开始已经不允许后台应用读取剪贴板。

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

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

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

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

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

© 2021 V2EX