我希望分享一个文本,点击后用户会通过Android共享意图导航到一个URL。
例如:
"访问Google获取更多信息。"
在上面的文本中,当用户点击Google时,将被重定向到google.com。我需要实现这样的功能,而不是向用户显示完整的URL。我尝试过使用href制作HTML链接,但不起作用。
那么,我应该如何实现呢?
我希望分享一个文本,点击后用户会通过Android共享意图导航到一个URL。
例如:
"访问Google获取更多信息。"
在上面的文本中,当用户点击Google时,将被重定向到google.com。我需要实现这样的功能,而不是向用户显示完整的URL。我尝试过使用href制作HTML链接,但不起作用。
那么,我应该如何实现呢?
您必须将类型设置为纯文本
,即:
intent.setType("text/plain");
可以这样将类型设置为HTML:
intent.setType("text/html");
那么,您可以使用这个来共享HTML文本:
并且它将会运行。
String textToShare = "Visit <a href=\"http://www.google.com\">google</a> for more info.";
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_SUBJECT, "sample");
intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(textToShare));
startActivity(Intent.createChooser(intent, "Share"));
输出:
这是 Gmail 应用的截图:
使用 href
标签并结合 Html.fromHtml();
方法设置文本,然后将其设置到 TextView 中。
尝试这样做:
使用文本视图选择和长按监听器调用共享意图。否则,您可以使用Android Spannable TextView。
请参考此链接以获取带有Google搜索的可扩展文本视图:http://androidcocktail.blogspot.in/2014/03/android-spannablestring-example.html
Uri uri = Uri.parse("http://www.google.com/#q=selected word here");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
text/plain
MIME 类型才能在这些应用程序中共享文本,并且它不会像这样格式化。 - Ashish Ranjan