[英]sending an email using html5 android webview
我正在嘗試創建應用程序,該應用程序將能夠從WebView android發送來自該應用程序的電子郵件。 代碼示例將像
<a href="mailto:email@echoecho.com?subject=SweetWords">Send Email</a>
代碼可以在瀏覽器中正常工作,但是在android本身的WebView中,它表明不支持該操作。所以我想知道是否可以僅在WebView中使用HTML發送電子郵件?
這樣的事情將在您的Webview客戶端中完成工作。
它能做什么 :
見下文 :
public boolean shouldOverrideUrlLoading (WebView view, String url){
String mailToRegexp = "mailto\\:([^?]+)\\?{0,1}((subject\\=([^&]+))|(body\\=([^&]+))|(bcc\\=([^&]+))|(cc\\=([^&]+)))*";
Pattern mailToPattern = Pattern.compile(mailToRegexp);
Matcher mailToMatcher = mailToPattern.matcher(url);
if(mailToMatcher.find()){
String email = mailToMatcher.group(1);
String subject = mailToMatcher.group(4);
String body = mailToMatcher.group(6);
String bcc = mailToMatcher.group(8);
String cc = mailToMatcher.group(10);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, email);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, body);
intent.putExtra(Intent.EXTRA_BCC, bcc);
intent.putExtra(Intent.EXTRA_CC, cc);
startActivity(Intent.createChooser(intent, "Send Email"));
return true;
}
}
您需要覆蓋(在您的webview類中)shouldOverrideUrlLoading( http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading (android.webkit.WebView,%20java.lang.String ) )解析mailto鏈接並將意向發送到郵件應用程序。
如果您使用的是cordova / phonegap,則需要導入inAppBrowser插件,並將target =“ _ system”添加到您的鏈接中,這樣它們才能被定向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.