V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winsonwen
V2EX  ›  Android

安卓开发剪贴板问题

  •  
  •   winsonwen · 77 天前 · 2576 次点击
    这是一个创建于 77 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    第 1 条附言  ·  72 天前
    谢谢大家的评论,学到了很多。
    统一回复一下,老板是想做一个翻译软件,不是什么流氓软件。
    谢谢大家让我得到了我想要的答案:安卓 10 以后无法监听。
    35 条回复    2022-06-06 14:59:23 +08:00
    yfugibr
        1
    yfugibr  
       77 天前 via Android
    😅
    retrocode
        2
    retrocode  
       77 天前   ❤️ 1
    你这个实时监听过分了兄弟...这都不只是安全的问题了,
    没辙,现在一般的通用做法是,当应用从后台切前台的时候无脑读一次剪切板然后处理内容,主流的几个应用都是这么做的
    singerll
        3
    singerll  
       77 天前
    gam2046
        4
    gam2046  
       77 天前
    降低系统版本可行,Android 10 开始已经不允许后台应用读取剪贴板。

    https://developer.android.com/about/versions/10/privacy/changes?#clipboard-data
    codehz
        5
    codehz  
       77 天前
    做成输入法然后设置成默认就可以实时读取了
    或者用 https://github.com/Kr328/Riru-ClipboardWhitelist 这个模块( zygisk 也可用)即可让其他软件后台监听剪切板变化了
    yjim
        6
    yjim  
       77 天前
    啥 APP ?
    learningman
        7
    learningman  
       77 天前
    要是支持这个功能,你的手机上有几个国产应用,clipboard 上就有几个 listener
    yuyu2140
        8
    yuyu2140  
       77 天前
    未 ROOT 情况下,普通应用在 Android 10 之后想后台监听剪贴板,几乎不可能。不过前段时间研究了下,做了一个可能让剪贴板只被使用一次的 Android App 。
    几个思路供你参考:
    yuyu2140
        9
    yuyu2140  
       77 天前
    1. 实现无障碍服务监听全局复制、剪切和粘贴的点击事件 。
    2. 赋予 android.permission.READ_LOGS 权限,同时实现 addPrimaryClipChangedListener 方法,在部分品牌手机上可使用 logcat 捕获复制的 error 日志,实现剪切板的实时响应通知。
    3. 有了剪切板内容变更通知,就可以实现一个透明悬浮窗,使 App 获取到焦点后(即 App 进入前台)然后可以进行剪贴板读取操作,这对于用户是无感知的。
    robot1
        10
    robot1  
       77 天前
    助纣为虐
    yaocai321
        11
    yaocai321  
       77 天前
    ???
    sangleft
        12
    sangleft  
       77 天前
    有没有可能用户并不想让你随时监听?😅
    Buges
        13
    Buges  
       77 天前 via Android
    我现在对流氓应用完全禁用读取剪贴板,无论前台后台,专门针对那种到前台后立马读取的。
    需要输入的利用 gbord 输入剪贴板的内容。
    cyningxu
        14
    cyningxu  
       77 天前
    有没有可能你自己也不愿意被任意 APP 监听你所复制的东西?别搞这些了,Android 生态需要大家来维护
    ncepuzs
        15
    ncepuzs  
       77 天前
    😡😡😡
    lqzhgood
        16
    lqzhgood  
       77 天前 via iPhone
    我还想做个在其他设备上 Ctrl c
    安卓手机上写入剪贴板的 app 看来也没法做了
    docx
        17
    docx  
       77 天前 via iPhone
    听我说,谢谢你🐶
    wanacry
        18
    wanacry  
       77 天前 via iPhone
    这功能能做成 然后用正则分析一下虚拟货币地址的私钥 上传到服务器 还真是美滋滋呢
    kwanzaa
        19
    kwanzaa  
       77 天前
    啥 APP ,提前拉黑。
    liuidetmks
        20
    liuidetmks  
       77 天前
    什么公司啊,大智慧,大聪明。
    这种行为,可以去工信部写表扬信的
    wangtian2020
        21
    wangtian2020  
       77 天前
    抖音天天弹通知但是我又从来不看,有一天火大了,我直接去把它所有权限全关了
    nishuoshenme
        22
    nishuoshenme  
       77 天前
    是开发者,但也是用户啊兄弟😓
    debuggeeker
        23
    debuggeeker  
       77 天前
    其实我很理解楼主的想法,比较作为一个开发,接到的只是一个需求,身不由己。
    但是你可以了解下 10 之后的情况,说明下这个系统限制,做不到。要么就是一直轮询,听听产品意见。如果他同意一直轮询,你写代码就是了,没必要纠结漂不漂亮代码了,至于耗电,发热,什么的就别管了,那是需求。
    然后开开心心写完代码过节吧。
    darkengine
        24
    darkengine  
       77 天前
    @debuggeeker 我都想到加轮询后的结果了:app 在后台被回收导致无法轮询到剪切板的变化,老板 /产品经理提出要做保活 😂
    cyningxu
        25
    cyningxu  
       76 天前   ❤️ 1
    @darkengine 还有种可能,由于目前国内各系统权限使用越来越清晰了,导致设置里看到 app 疯狂读取剪切板,老板 /产品经理提出功能要继续生效,但系统设置里的读取剪切板要显示为 0
    kuyuzhiqi
        26
    kuyuzhiqi  
       76 天前
    就是你们这帮公司多了,才会出现各种隐私问题,还好意思在这问
    storyxc
        27
    storyxc  
       76 天前
    想请问下贵公司的产品是 to C 的吗,如果是的话能否告知个名字,避个雷😅。
    NSAgold
        28
    NSAgold  
       76 天前 via Android
    @lqzhgood kde connect ( doge )
    安卓 10 之后需要 root 之后解除限制才能让 app 后台读写剪贴板,所以自己写不是完全不可行
    woyaojizhu8
        29
    woyaojizhu8  
       75 天前
    非法入侵计算机系统罪?
    lqzhgood
        30
    lqzhgood  
       74 天前 via iPhone
    @NSAgold 国内安卓厂是不是只剩 小米 官方支持 root 了
    debuggeeker
        31
    debuggeeker  
       73 天前
    @darkengine 2022 年还想保活啊,哈哈哈哈哈,那恭喜你。
    Darkatse
        32
    Darkatse  
       72 天前
    @lqzhgood 其实早有了,剪纸云+Riru-ClipboardWhitelist
    winsonwen
        33
    winsonwen  
    OP
       72 天前
    @debuggeeker 谢谢理解,谢谢你的建议,确实身不由已啊。。
    rev1si0n
        34
    rev1si0n  
       72 天前
    各位其实没必要这么激动,现成的,你手边的淘宝就会在你切到 APP 时把你的剪切板传上去,美其名曰 “淘口令”,实际还是个 GET 请求,真就不担心被自己人日志分析,传的还真就是你剪切板完整内容,恶心的要死。
    sky96111
        35
    sky96111  
       72 天前
    @lqzhgood 你要找的是不是,KDE Connect
    Android10 以上需要 clipboard-whitelist
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4547 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:39 · PVG 10:39 · LAX 19:39 · JFK 22:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.