我们可以使用ClipboardManager将某些内容复制到剪贴板,如下所示:
final ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
final ClipData clipData = ClipData.newPlainText("", someTextToCopy);
clipboard.setPrimaryClip(clipData);
问题是,此代码是静默的,因此用户看不到任何表明文本已被复制的内容。
我可以添加我自己的吐司,但并非所有设备都在用户复制文本时显示吐司(G2显示添加内容的临时注释窗口),即使对于那些这样做的设备,我也找不到他们使用的字符串,也找不到翻译。
以下是LG G2上的样子(等到复制完成):
https://youtu.be/cmmJC4_7EhE?t=33
下面是另一台设备上显示祝酒词的方式:
https://youtu.be/9S7ud5Ux5Fg?t=49
有没有办法调用默认剪贴板复制?
我说的是在EditText(或WebView,或您可以作为用户复制文本的任何地方)上使用的那个,当您在其中标记文本并选择“复制”时。
请注意,我没有将它用于EditText/TextView。我想调用默认复制,即使是从按钮。
据我所知,没有这样的内置
功能。您可以在应用程序中进行类似的行为。请参阅问题下方评论中的所有示例。