【发布时间】:2023-03-14 07:24:01
【问题描述】:
我有一个按钮,点击时会触发 ACTION_SEND 意图,如下所示:
private static final String WEB_URL = "https://www.google.ca/";
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, WEB_URL);
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, "CHOOOOOSE"));
}
目前,它还有一些其他应用程序,“复制到剪贴板”和“添加到 Firefox”,可用于在 Firefox 中打开链接。但是,我想让用户决定使用哪个浏览器应用程序来打开链接,但是当我使用的此设备也有“Chrome”和“Internet”应用程序时,“添加到 Firefox”似乎是目前唯一的选择.
最终,我想要的是一个分享按钮,在点击事件时,它会显示所有已安装的浏览器应用程序,如 chrome、firefox、“互联网”等、“复制到剪贴板”和任何其他应用程序(
显示所有浏览器应用,以及一个“复制到剪贴板”按钮是我真正想要的。
“WEB_URL”字符串始终是正确的 url。
我如何做到这一点?
编辑
总结一下:
我想要一个由“Intent.createChooser()”显示的应用列表,该列表包含所有浏览器应用和一个“复制到剪贴板”选项。
我尝试将 Intent.ACTION_VIEW 与 intent.setData(Uri.parse(url)) 一起使用,但在这种情况下,它没有“复制到剪贴板”选项。
【问题讨论】:
-
您的意图是打开一个网址或发送纯文本?如果你想重定向到一个 url,你需要在你的意图中使用 Action_View 和 URI。
-
我想要一个由“Intent.createChooser()”显示的应用程序列表,该列表包含所有浏览器应用程序和一个“复制到剪贴板”选项。我尝试将 Intent.ACTION_VIEW 与 intent.setData(Uri.parse(url)) 一起使用,但在这种情况下,它没有“复制到剪贴板”选项。
-
我想知道你的意图是什么。你是想复制文本还是打开一个网址?
-
我的意图是,使用给定的“WEB_URL”,显示“Intent.createChooser()”中的选项以显示浏览器应用程序的图标,以及“复制到剪贴板”的图标。是的,我想复制文本或在用户选择的浏览器中打开一个 url。我想同时拥有这两种能力(复制文本+在浏览器中打开)
-
你不能在一个 Intent 中同时做这两件事。
标签: java android android-intent share