我正在尝试创建应用程序,应用程序将能够从WebView安卓应用程序发送电子邮件。代码的示例如下
<a href="mailto:email@echoecho.com?subject=SweetWords">Send Email</a> 这些代码在浏览器中运行良好,但在安卓系统本身的WebView中,它表明这个操作不是supported.So --我想知道,是否可以仅在WebView中使用WebView发送电子邮件?
发布于 2013-12-07 17:32:02
像这样的东西将在您的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;
}
}发布于 2013-12-07 17:20:20
您需要覆盖(在您的webview类中) shouldOverrideUrlLoading (解析邮件链接和发送邮件应用程序的http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView,%20java.lang.String))。
如果您正在使用cordova/phonegap,您需要导入inAppBrowser插件,并将target="_system“添加到您的链接中,以便将其作为一个目的来引导。
https://stackoverflow.com/questions/20443815
复制相似问题