【问题标题】:Intercept app-wide copying to clipboard to implement a local only clipboard in Android拦截应用程序范围内的复制到剪贴板以在 Android 中实现仅限本地的剪贴板
【发布时间】:2015-09-05 18:38:46
【问题描述】:

有没有办法拦截应用程序范围内的复制到剪贴板以实现仅限应用程序的剪贴板?我知道ClipboardManager.OnPrimaryClipChanged,但那是(1)系统范围的,(2)在复制完成后收到。我想提供一个仅限本地的剪贴板,以确保内容仅在应用程序中保持安全。

我宁愿不创建自己的 ContextualActionBar 来提供我自己的复制按钮,因为这必须在每个屏幕上完成。有人想吗?

【问题讨论】:

    标签: android clipboardmanager


    【解决方案1】:

    无需禁用剪贴板,只需监听 OnPrimaryClipChanged 事件。将剪贴板的内容保存在侦听器中,然后清除系统范围的剪贴板。

    伪代码(无法编译):

    void OnPrimaryClipChanged (String text) {
         MyLocalClip.save(text);
         ClipboardManager.setText("");
    }
    

    另一种选择是清除主 Activity 的 onPause 方法内的剪贴板,因此当用户退出应用时 - 剪贴板是空的。

    【讨论】:

    • 问题是当它被添加到那里时,任何其他在后台侦听其他应用程序的服务也会收到该回调并可以访问那里复制的内容。
    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多