android - 如何从HTML STRING CONTENT中获取文本内容并通过各种方式分享?

标签 android html xml

我在应用程序中使用 HTML 字符串内容作为 WEBVIEW。 HTML STRING CONTENT 的代码写为:

text = "<html><body>" +
 "<p align=\"justify\">"+ 
getString(R.string.hadesc1)+
"</p>"+<p align=\"justify\">"+
getString(R.string.hadesc2)+"</p>"+
"<p align=\"justify\"><b>"+
getString(R.string.hadesc3)</b>/p>"+
"<p align=\"justify\">"+
getString(R.string.hadesc4)+
"</p>"+"<p align=\"justify\"><b>"
+getString(R.string.hadesc5)+
"</b></p><dl>"+"<dt align=\"justify\"><b><u>"
+getString(R.string.hadesc7)+"</u></b></dt>"+
 "<dd align=\"justify\">"+
 getString(R.string.hadesc8)+"</dd>"

我正在使用它

mWebView.loadData(text, "text/html; charset=UTF-8", null);`

但是,我只想分享上述数据中的文本。所以, 我是这样写代码的,

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("text/plain");                
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,Html.fromHtml(text));
startActivity(Intent.createChooser(sendIntent, "Share Via:"));

但是,它仅针对电子邮件共享。 我需要通过蓝牙、Facebook、邮件和短信进行分享。所以,请帮助我做我需要做的事。

最佳答案

好的,我已经尝试将代码与 String 中的 HTML 一起...

似乎 String text 无法转换为 HTML 因此转换“无声地”失败并在LogCat 说:

04-16 23:44:40.527: W/Bundle(1983): Key android.intent.extra.TEXT expected String but value was a android.text.SpannableString.  The default value <null> was returned.
04-16 23:44:40.527: W/Bundle(1983): Attempt to cast generated internal exception:
04-16 23:44:40.527: W/Bundle(1983): java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String

方法 Html.fromHtml(text) 返回一个 SpannableString 并且这又不能放在 ShareIntent 中。

因此,如果您在返回的 Spannable 上显式调用 toString(),它将起作用。

所以这一行应该是这样的:

sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,Html.fromHtml(text).toString());

旁注:您的 HTML 无效,因此它可能根本不会返回任何有用的信息,但现在无论如何都可以发送。

关于android - 如何从HTML STRING CONTENT中获取文本内容并通过各种方式分享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906950/

相关文章:

android - Android模拟器没有声音

html - 如何使用div和CSS模仿表格的colspan?

javascript - 在 HTML5 localstorage 中缓存整个 jquery.min.js 文件

android - Google IO Rest 设计模式,完成 ContentProvider 并坚持从网络获取数据

android - 错误选项卡中的 progressDialog

html - CSS - 即使行未满,也使图像大小相同

java - 用Java读取XML文件

javascript - 如何使用 node-soap 创建自定义请求

java - 如何使用 JAXB 映射 XML 标记的封闭内容?

Android 应用程序链接 - 在浏览器中打开应用程序的 url 而不会触发应用程序链接