我在应用程序中使用HTML STRING CONTENT作为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,邮件和消息分享。所以,请帮助我做我需要做的事。
答案 0 :(得分:1)
好的,我已经与HTML
中的String
一起尝试了代码...
似乎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
内。
因此,如果您在返回的toString()
上明确地呼叫Spannable
,那么它将起作用。
所以该行应如下所示:
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,Html.fromHtml(text).toString());
在旁注:您的HTML
无效,因此可能根本不会返回任何有用的内容,但现在无论如何都可以发送。{/ p>