2014-05-01 51 views
3

在运行Android 4.1.2的我的Samsung Tab 3上,多个副本到剪贴板将生成一个包含每个副本的剪贴板。这可以通过滑动键盘底部的按钮来看到。清除所有剪贴板条目

我想以编程方式删除所有这些副本,但是,ClipboardManager似乎并未提供执行此操作的方法。如何删除已复制到剪贴板的所有内容?

感谢,

克里斯

回答

0

使用你所提到的经理,你可以一个空字符串设定为它setText清除剪贴板。

ClipboardManager mClipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
mClipboardManager.setText(""); 
+2

这会将一个空白剪辑添加到堆栈。以前复制的敏感数据仍可供所有人查看。这就是我想要删除的内容。 – user3594510

+0

那么添加空字符串作为剪辑? 'ClipData data = mClipboardManager.newPlainText(“”,“”); mClipboardManager.setPrimaryClip(data);' – GoRoS

11

ClipboardManager clipService = (ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("", "");
clipService.setPrimaryClip(clipData);

+1

不适用于Android设备> = 5.0的三星设备 –

+0

@VladimirIvanov你有任何解决方案形式相同吗? – 135

1

我不认为你可以。听起来像三星已经写了剪贴板扩展器,监控剪贴板事件,并保留一切的副本。

没有(用户)通过UI与历史列表进行交互,无法访问历史记录。

一个可能的解决方法:如果历史列表是限制/回收品种(即将新项目覆盖旧项目限制为10),那么您可以通过重复发送空白字符串(或无害的非重复字符串,如'empty1','empty2'等。) 无论您做什么,您最终都会覆盖用户认为重要的内容,并且用户会恨你