【发布时间】:2015-09-05 18:38:46
【问题描述】:
有没有办法拦截应用程序范围内的复制到剪贴板以实现仅限应用程序的剪贴板?我知道ClipboardManager.OnPrimaryClipChanged,但那是(1)系统范围的,(2)在复制完成后收到。我想提供一个仅限本地的剪贴板,以确保内容仅在应用程序中保持安全。
我宁愿不创建自己的 ContextualActionBar 来提供我自己的复制按钮,因为这必须在每个屏幕上完成。有人想吗?
【问题讨论】:
有没有办法拦截应用程序范围内的复制到剪贴板以实现仅限应用程序的剪贴板?我知道ClipboardManager.OnPrimaryClipChanged,但那是(1)系统范围的,(2)在复制完成后收到。我想提供一个仅限本地的剪贴板,以确保内容仅在应用程序中保持安全。
我宁愿不创建自己的 ContextualActionBar 来提供我自己的复制按钮,因为这必须在每个屏幕上完成。有人想吗?
【问题讨论】:
无需禁用剪贴板,只需监听 OnPrimaryClipChanged 事件。将剪贴板的内容保存在侦听器中,然后清除系统范围的剪贴板。
伪代码(无法编译):
void OnPrimaryClipChanged (String text) {
MyLocalClip.save(text);
ClipboardManager.setText("");
}
另一种选择是清除主 Activity 的 onPause 方法内的剪贴板,因此当用户退出应用时 - 剪贴板是空的。
【讨论】: