如何清空安卓剪贴板?

5

我找到的所有方法都没起作用。

这是我尝试过的:

1/ 使用 ClipboardManager 类的 clearPrimaryClip() 方法

ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.clearPrimaryClip();

这并没有起到任何作用。剪贴板仍然保存着我的旧项目。
2/ 使用stackoverflow的建议
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", " ");
clipboard.setPrimaryClip(clip);

这个只是向项目列表中添加了一个空的剪贴板项。旧的剪贴板项没有被清除或删除。

是否有编程方法来从剪贴板项列表中删除项目?

谢谢。


你有没有解决这个问题? - user167698
1
@user167698,至少对于支持多个剪贴板的Android版本(从Android 4.4.2开始?),目前没有编程方法可以实现这一点。在旧版本中,由于剪贴板无法包含多个剪辑,将剪辑的数据设置为“”可以解决问题,但是这种方法已经不再适用了。祝好! - El Mostafa IDRASSI
1
卡巴斯基密码应用程序可以做到这一点,所以这是可能的。但我不确定如何做到这一点。 - Leonardo Sibela
@ElMostafaIDRASSI 这个问题的答案是否符合您的期望?https://dev59.com/EH_aa4cB1Zd3GeqP1Eqh#28353981 - Leonardo Sibela
如果你找到了如何实现这一点的方法,我也很感兴趣。 - matteoh
1个回答

1
您可以简单地向剪贴板发送多个空值:
(requireActivity().getSystemService(CLIPBOARD_SERVICE) as ClipboardManager).apply {
    for (i in 1..50) {
        setPrimaryClip(ClipData.newPlainText(null, ""))
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接