Example usage for android.webkit WebView SCHEME_MAILTO

List of usage examples for android.webkit WebView SCHEME_MAILTO

Introduction

In this page you can find the example usage for android.webkit WebView SCHEME_MAILTO.

Prototype

String SCHEME_MAILTO

To view the source code for android.webkit WebView SCHEME_MAILTO.

Click Source Link

Document

URI scheme for email address.

Usage

From source file:org.zirco.ui.components.CustomPagerAdapter.java

private CustomWebView initializeWebView(CustomWebView webView) {

    webView.setOnTouchListener(mParentActivity);

    webView.setWebViewClient(new CustomWebViewClient(mParentActivity));
    webView.setWebChromeClient(new CustomWebChromeClient(mParentActivity, webView));

    webView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
        @Override//from   w  w  w  .j  a v a 2 s.  com
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
            HitTestResult result = ((WebView) v).getHitTestResult();

            int resultType = result.getType();
            if ((resultType == HitTestResult.ANCHOR_TYPE) || (resultType == HitTestResult.IMAGE_ANCHOR_TYPE)
                    || (resultType == HitTestResult.SRC_ANCHOR_TYPE)
                    || (resultType == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)) {

                Intent i = new Intent();
                i.putExtra(Constants.EXTRA_ID_URL, result.getExtra());

                MenuItem item = menu.add(0, MainActivity.CONTEXT_MENU_OPEN, 0, R.string.Main_MenuOpen);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_OPEN_IN_NEW_TAB, 0, R.string.Main_MenuOpenNewTab);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_COPY, 0, R.string.Main_MenuCopyLinkUrl);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_DOWNLOAD, 0, R.string.Main_MenuDownload);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_SHARE, 0, R.string.Main_MenuShareLinkUrl);
                item.setIntent(i);

                menu.setHeaderTitle(result.getExtra());
            } else if (resultType == HitTestResult.IMAGE_TYPE) {
                Intent i = new Intent();
                i.putExtra(Constants.EXTRA_ID_URL, result.getExtra());

                MenuItem item = menu.add(0, MainActivity.CONTEXT_MENU_OPEN, 0, R.string.Main_MenuViewImage);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_COPY, 0, R.string.Main_MenuCopyImageUrl);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_DOWNLOAD, 0, R.string.Main_MenuDownloadImage);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_SHARE, 0, R.string.Main_MenuShareImageUrl);
                item.setIntent(i);

                menu.setHeaderTitle(result.getExtra());

            } else if (resultType == HitTestResult.EMAIL_TYPE) {

                Intent sendMail = new Intent(Intent.ACTION_VIEW,
                        Uri.parse(WebView.SCHEME_MAILTO + result.getExtra()));

                MenuItem item = menu.add(0, MainActivity.CONTEXT_MENU_SEND_MAIL, 0,
                        R.string.Main_MenuSendEmail);
                item.setIntent(sendMail);

                Intent i = new Intent();
                i.putExtra(Constants.EXTRA_ID_URL, result.getExtra());

                item = menu.add(0, MainActivity.CONTEXT_MENU_COPY, 0, R.string.Main_MenuCopyEmailUrl);
                item.setIntent(i);

                item = menu.add(0, MainActivity.CONTEXT_MENU_SHARE, 0, R.string.Main_MenuShareEmailUrl);
                item.setIntent(i);

                menu.setHeaderTitle(result.getExtra());
            }
        }
    });

    webView.setDownloadListener(new DownloadListener() {

        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,
                long contentLength) {
            mParentActivity.doDownloadStart(url, userAgent, contentDisposition, mimetype, contentLength);
        }

    });

    return webView;
}

From source file:com.acrutiapps.browser.ui.components.CustomWebView.java

private void setupContextMenu() {
    setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

        @Override//from   w  w w.j  av a  2 s  . c om
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
            HitTestResult result = ((WebView) v).getHitTestResult();
            int resultType = result.getType();

            if ((resultType == HitTestResult.ANCHOR_TYPE) || (resultType == HitTestResult.IMAGE_ANCHOR_TYPE)
                    || (resultType == HitTestResult.SRC_ANCHOR_TYPE)
                    || (resultType == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)) {

                MenuItem item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_OPEN, 0, R.string.ContextMenuOpen);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_OPEN, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_OPEN_IN_NEW_TAB, 0,
                        R.string.ContextMenuOpenNewTab);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_OPEN_IN_NEW_TAB, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_OPEN_IN_BACKGROUND, 0,
                        R.string.ContextMenuOpenInBackground);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_OPEN_IN_BACKGROUND, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_COPY, 0, R.string.ContextMenuCopyLinkUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_COPY, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_DOWNLOAD, 0, R.string.ContextMenuDownload);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_DOWNLOAD, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_SHARE, 0, R.string.ContextMenuShareLinkUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_SHARE, resultType, result.getExtra()));

                createContributedContextMenu(menu, resultType, result.getExtra());

                menu.setHeaderTitle(result.getExtra());

            } else if (resultType == HitTestResult.IMAGE_TYPE) {

                MenuItem item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_OPEN, 0,
                        R.string.ContextMenuViewImage);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_OPEN, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_OPEN_IN_NEW_TAB, 0,
                        R.string.ContextMenuViewImageInNewTab);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_OPEN_IN_NEW_TAB, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_COPY, 0, R.string.ContextMenuCopyImageUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_COPY, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_DOWNLOAD, 0,
                        R.string.ContextMenuDownloadImage);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_DOWNLOAD, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_SHARE, 0,
                        R.string.ContextMenuShareImageUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_SHARE, resultType, result.getExtra()));

                createContributedContextMenu(menu, resultType, result.getExtra());

                menu.setHeaderTitle(result.getExtra());

            } else if (resultType == HitTestResult.EMAIL_TYPE) {

                Intent sendMail = new Intent(Intent.ACTION_VIEW,
                        Uri.parse(WebView.SCHEME_MAILTO + result.getExtra()));

                MenuItem item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_SEND_MAIL, 0,
                        R.string.ContextMenuSendEmail);
                item.setIntent(sendMail);

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_COPY, 0, R.string.ContextMenuCopyEmailUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_COPY, resultType, result.getExtra()));

                item = menu.add(0, TintBrowserActivity.CONTEXT_MENU_SHARE, 0,
                        R.string.ContextMenuShareEmailUrl);
                item.setIntent(createIntent(Constants.ACTION_BROWSER_CONTEXT_MENU,
                        TintBrowserActivity.CONTEXT_MENU_SHARE, resultType, result.getExtra()));

                createContributedContextMenu(menu, resultType, result.getExtra());

                menu.setHeaderTitle(result.getExtra());

            }
        }
    });
}