Java 类android.net.MailTo 实例源码

项目:watchpresenter    文件:MailtoWebView.java   
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.startsWith("mailto:")) {
        final Activity activity = mActivityRef.get();
        if (activity != null) {
            MailTo mt = MailTo.parse(url);
            Intent i = newEmailIntent(activity, mt.getTo(), mt.getSubject(), mt.getBody(), mt.getCc());
            activity.startActivity(i);
            view.reload();
            return true;
        }
    } else {
        view.loadUrl(url);
    }
    return true;
}
项目:q-mail    文件:ListHeaders.java   
private static Address extractAddress(String headerValue) {
    if (headerValue == null || headerValue.isEmpty()) {
        return null;
    }

    Matcher matcher = MAILTO_CONTAINER_PATTERN.matcher(headerValue);
    if (!matcher.find()) {
        return null;
    }

    String mailToUri = matcher.group(1);
    String emailAddress = MailTo.parse(mailToUri).getTo();
    return new Address(emailAddress);
}
项目:K9-MailClient    文件:ListHeaders.java   
private static Address extractAddress(String headerValue) {
    if (headerValue == null || headerValue.isEmpty()) {
        return null;
    }

    Matcher matcher = MAILTO_CONTAINER_PATTERN.matcher(headerValue);
    if (!matcher.find()) {
        return null;
    }

    String mailToUri = matcher.group(1);
    String emailAddress = MailTo.parse(mailToUri).getTo();
    return new Address(emailAddress);
}
项目:DeeBrowser    文件:LightningView.java   
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    // Check if configured proxy is available
    if (mBrowserController.proxyIsNotReady()) {
        // User has been notified
        return true;
    }

    if (mIsIncognitoTab) {
        return super.shouldOverrideUrlLoading(view, url);
    }
    if (url.startsWith("about:")) {
        return super.shouldOverrideUrlLoading(view, url);
    }
    if (url.contains("mailto:")) {
        MailTo mailTo = MailTo.parse(url);
        Intent i = Utils.newEmailIntent(mailTo.getTo(), mailTo.getSubject(),
                mailTo.getBody(), mailTo.getCc());
        mActivity.startActivity(i);
        view.reload();
        return true;
    } else if (url.startsWith("intent://")) {
        Intent intent;
        try {
            intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
        } catch (URISyntaxException ex) {
            return false;
        }
        if (intent != null) {
            try {
                mActivity.startActivity(intent);
            } catch (ActivityNotFoundException e) {
                Log.e(Constants.TAG, "ActivityNotFoundException");
            }
            return true;
        }
    }
    return mIntentUtils.startActivityForUrl(mWebView, url);
}
项目:365browser    文件:TabContextMenuItemDelegate.java   
@Override
public void onAddToContacts(String url) {
    Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
    if (MailTo.isMailTo(url)) {
        intent.putExtra(
                ContactsContract.Intents.Insert.EMAIL, MailTo.parse(url).getTo().split(",")[0]);
    } else if (UrlUtilities.isTelScheme(url)) {
        intent.putExtra(ContactsContract.Intents.Insert.PHONE, UrlUtilities.getTelNumber(url));
    }
    IntentUtils.safeStartActivity(mTab.getActivity(), intent);
}
项目:Ninja    文件:IntentUnit.java   
public static Intent getEmailIntent(MailTo mailTo) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] { mailTo.getTo() });
    intent.putExtra(Intent.EXTRA_TEXT, mailTo.getBody());
    intent.putExtra(Intent.EXTRA_SUBJECT, mailTo.getSubject());
    intent.putExtra(Intent.EXTRA_CC, mailTo.getCc());
    intent.setType(INTENT_TYPE_MESSAGE_RFC822);

    return intent;
}
项目:LifeManager    文件:Util.java   
public static void showMailDialg(Context context, String url) {
    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());
    context.startActivity(i);
}
项目:android-mine-core    文件:XmWebView.java   
@Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            logger.d("webLoading:shouldOverrideUrlLoading");

            // Check if configured proxy is available
//            if (!mBrowserController.isProxyReady()) {
//                // User has been notified
//                return true;
//            }

//            if (mBrowserController.isIncognito()) {
//                return super.shouldOverrideUrlLoading(view, url);
//            }
            if (url.startsWith("about:")) {
                return super.shouldOverrideUrlLoading(view, url);
            }
            if (url.contains("mailto:")) {
                MailTo mailTo = MailTo.parse(url);
                Intent i = XmWebUtils.newEmailIntent(mailTo.getTo(), mailTo.getSubject(),
                        mailTo.getBody(), mailTo.getCc());
                mContext.startActivity(i);
                view.reload();
                return true;
            } else if (url.startsWith("intent://")) {
                Intent intent;
                try {
                    intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                } catch (URISyntaxException ex) {
                    return false;
                }
                if (intent != null) {
                    try {
                        mContext.startActivity(intent);
                    } catch (ActivityNotFoundException e) {
                        logger.e("ActivityNotFoundException");
                    }
                    return true;
                }
            }
            return mIntentUtils.startActivityForUrl(XmWebView.this, url);

        }