我想在电子邮件正文中插入html代码...在我的代码中,我在后台发送电子邮件意味着onClick按钮事件,因为每当我在BasicNameValuePair中使用Html.formHtml时,它会在此行显示错误..请救命 谢谢
@Override
public void onClick(View arg)
{
String site = "http://2233.comoj.com/mailer.php";
String namer1 = "password";
String to = "abc@gmail.com";
String from = "xyz@gmail.com";
String subject1 = "checking mail";
String message = "<html><head><body><h1>Hello World</h1></body></head></html>";
String content = "";
try
{
/* Sends data through a HTTP POST request */
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(site);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", namer1));
params.add(new BasicNameValuePair("to", to));
params.add(new BasicNameValuePair("from", from));
params.add(new BasicNameValuePair("subject", subject1));
params.add(new BasicNameValuePair("message", Html.fromHtml(message))); //error in this line
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
/* Reads the server response */
HttpResponse response = httpClient.execute(httpPost);
InputStream in = response.getEntity().getContent();
StringBuffer sb = new StringBuffer();
int chr;
while ((chr = in.read()) != -1)
{
sb.append((char) chr);
}
content = sb.toString();
in.close();
/* If there is a response, display it */
if (!content.equals(""))
{
Log.i("HTTP Response", content);
}
}
catch (Exception e)
{
e.printStackTrace();
}
Intent intent = new Intent(context, Invite2.class);
startActivity(intent);
}
答案 0 :(得分:0)
您需要在toString()
方法上调用Html.fromHtml
(因为它返回Spanned
)才能将其作为NameValuePair
内的值。
params.add(new BasicNameValuePair("message", Html.fromHtml(message).toString()));
答案 1 :(得分:0)
根据Html参考
方法fromHtml
返回Spanned
我想你只需发送一个String
params.add(new BasicNameValuePair("message", message));