我正在使用Android Webview的網站。我已經包括mailto
聯繫和電子郵件給朋友。在網絡側的代碼片段:MailTo不能在Android WebView中工作
對於聯繫人:<a href="mailto:[email protected]">[email protected]</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;
}
這與聯繫人正常工作。但是,它並不適用於電子郵件給朋友。 Subject
和Composed email
字段中有空白,但是字段To
包括/product-detail/105/
,其必須爲空。當我在移動瀏覽器中打開網站時,它工作正常。那麼,我需要在上面的代碼中爲webview來處理這個問題呢?可以做些什麼來解決這個問題?
你有沒有嘗試過這種'mail.setType( 「信息/ RFC822」);'。如果不嘗試,而不是'mail.setType這個(「應用程序/ octet-stream「);' –
我已經使用過了:'mail.setType(」application/octet-stream「);'。請參閱上面的代碼片段。我如何處理多個'mailto'? –
我建議你試試這個'mail.setType(「message/rfc822」);' –