gpt4 book ai didi

java - 使用不同应用程序中的按钮粘贴剪贴板中的文本 (Android)

转载 作者:行者123 更新时间:2023-12-01 09:31:55 26 4
gpt4 key购买 nike

我尝试在网上找到类似的东西,但找不到。具体来说,我想要的是能够让一个按钮粘贴一些源自其他应用程序而不是我正在制作的应用程序的文本。因此,假设您从“Google Chrome”应用程序复制一些文本,然后进行常规的长按和复制。然后,您打开此应用程序并按一个按钮,它会从剪贴板中获取文本并将其粘贴到 TextView 中。我知道这对于剪贴板管理器来说是不可能的,因为我见过的所有示例都将其显示为存储应用程序内信息的对象。

最佳答案

不,ClipboardManager 是一项系统服务,提供对设备范围剪贴板的访问。

许多示例可能显示复制和粘贴到剪贴板的部分原因是该示例是独立的。

因此,您从 getSystemService() 获取 ClipboardManager,通过 getPrimaryClip() 获取当前内容,并使用 ClipData 如您认为合适。

例如,this sample project包含两个应用程序:drag/drop/。主要是为了说明 Android 7.0 上的跨应用拖放操作。但是,drop/ 支持“粘贴”操作栏项目(具有关联的键盘快捷键),我可以在其中抓取剪贴板上的任何内容,如果它有 Uri,则使用它:

  @Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId()==R.id.paste) {
boolean handled=false;

ClipData clip=
getSystemService(ClipboardManager.class)
.getPrimaryClip();

if (clip!=null) {
ClipData.Item clipItem=clip.getItemAt(0);

if (clipItem!=null) {
imageUri=clipItem.getUri();

if (imageUri!=null) {
showThumbnail();
handled=true;
}
}
}

if (!handled) {
Toast
.makeText(this, "Could not paste an image!", Toast.LENGTH_LONG)
.show();
}

return(handled);
}

return(super.onOptionsItemSelected(item));
}

此应用程序中没有用于将内容放入剪贴板的代码,但关联的 drag/ 应用程序具有相关代码。

关于java - 使用不同应用程序中的按钮粘贴剪贴板中的文本 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39335479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com