You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Android剪贴板中复制数据的来源应用包名?

问题解答

这个需求能否实现,完全取决于你适配的Android系统版本,不同版本系统对剪贴板的隐私限制差异很大:

  • Android 10(API 29)及更低版本:完全可以实现。系统没有对剪贴板来源做访问限制,你给ClipboardManager注册OnPrimaryClipChangedListener监听剪贴板变化后,就能直接获取到触发本次复制操作的来源应用包名,直接和你要过滤的com.example.customApp做匹配即可,匹配通过再处理对应的剪贴板内容。
  • Android 11(API 30)~ Android 12L(API 32):有条件实现。这个版本区间的系统只允许处于前台焦点的应用、或是系统默认输入法读取剪贴板信息,应用在后台时既读不到剪贴板内容,也拿不到来源信息。只要你的应用满足前台运行的条件,就能正常拿到来源包名做过滤。
  • Android 13(API 33)及更高版本:普通第三方应用无法直接实现。系统出于隐私保护目的,对所有非特权第三方应用隐藏了剪贴板的来源包名信息,哪怕你在前台能读到剪贴板内容,也无法直接获知内容来自哪个App。这种场景下如果要过滤指定App的复制内容,只有两种可行路径:
    • 你的应用是系统特权应用(持有系统签名、预装在系统分区),可以申请系统专属的剪贴板来源读取权限
    • 和目标应用com.example.customApp做业务对接,约定双方识别规则:比如对方复制内容时在文本前加固定的专属前缀,或是在ClipData中添加约定好的extra字段,你读取剪贴板时校验对应标识,就能判断内容是否来自目标应用

额外提醒:从Android 10开始,应用在后台读取剪贴板的行为会被系统直接拦截,还会给用户弹出隐私风险提示,所有剪贴板读取逻辑必须放在应用处于前台可见状态时触发。

内容的提问来源于stack exchange,提问作者Mert DEMIRKIRAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:09:28