繁体   English   中英

mailto:Android中不支持的链接?

[英]mailto: links unsupported in Android?

我没有真正的Android设备,所以我现在使用模拟器进行我的所有开发,在Android设备2.1及更低版本上,mailto:web链接真的不受支持吗? 2.2工作,但每次我点击1.6或2.1的mailto:链接,我得到一个[不支持的操作]对话框。 有真实设备的人想要测试一下吗?

您必须自己在WebViewClient中处理它

public class MyWebViewClient extends WebViewClient {
    Activity mContext;
    public MyWebViewClient(Activity context){
        this.mContext = context;
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {     
        if(url.startsWith("mailto:")){
            MailTo mt = MailTo.parse(url);
            Intent i = new Intent(Intent.ACTION_SEND);
            i.setType("text/plain");
            i.putExtra(Intent.EXTRA_EMAIL, new String[]{mt.getTo()});
            i.putExtra(Intent.EXTRA_SUBJECT, mt.getSubject());
            i.putExtra(Intent.EXTRA_CC, mt.getCc());
            i.putExtra(Intent.EXTRA_TEXT, mt.getBody());
            mContext.startActivity(i);
            view.reload();
            return true;
        }
        view.loadUrl(url);
        return true;
    }
}

在您的活动中,您将保留对MyWebViewClient的引用,并使用setWebViewClient(mWebClient)将其分配给您的webview

一种更简单的方法是:

if(url.startsWith("mailto:")){
    Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
    view.getContext().startActivity(intent);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM