我正在处理一个网站的Android Webview,其中包括“联系我们”和“发送电子邮件给朋友”的
联系我们:
mailto
。 网站端的代码如下:联系我们:
<a href="mailto:contact@example.com">contact@example.com</a>
发送电子邮件给朋友:<a href="mailto:?subject=Check out this product&body=I found this awesome product%20http://www.example.com/product-detail/61/" title="Email to a Friend" class=""><span>Email to a Friend</span></a>
我在Android端的shouldOverrideUrlLoading
方法中包含了以下代码片段:@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if( url.startsWith("http:") || url.startsWith("https:") ) {
return false;
}
else if (url.startsWith("tel:")) {
Intent tel = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
startActivity(tel);
return true;
}
else if(url.startsWith("mailto:")) {
MailTo mailTo = MailTo.parse(url);
String emailAddress = mailTo.getTo();
String subject = mailTo.getSubject();
String body = mailTo.getBody();
String cc = mailTo.getCc();
Intent mail = new Intent(Intent.ACTION_SEND,Uri.parse(url));
mail.setType("application/octet-stream");
mail.putExtra(Intent.EXTRA_EMAIL, new String[]{emailAddress});
mail.putExtra(Intent.EXTRA_SUBJECT, subject);
mail.putExtra(Intent.EXTRA_TEXT, body);
mail.putExtra(Intent.EXTRA_CC, cc);
startActivity(mail);
return true;
}
return false;
}
这在与联系人一起工作得很好。但是,它在发送电子邮件给朋友时无法正常工作。主题和组成电子邮件字段中有空白,但“收件人”字段中包含必须为空的“/product-detail/105/”。当我在移动浏览器中打开网站时,它可以正常工作。那么,在上述代码中,我需要做什么才能处理此问题?该怎么做才能解决这个问题?
mail.setType("message/rfc822");
吗?如果没有,请尝试使用它来替换mail.setType("application/octet-stream");
。 - Sunil Sunnymail.setType("application/octet-stream");
。请参见上面的代码片段。如何处理多个mailto
? - Satan Pandeyamail.setType("message/rfc822");
。 - Sunil Sunny