我可以从Android WebView打开whatsapp应用程序吗

时间:2019-06-06 04:39:12

标签: php android webview

我已经浏览了一个网站的网络视图。现在,我想从网络视图共享一些数据到whatsapp应用程序。我能够打开whatsapp网站,但客户希望我打开whatsapp应用程序而不是whatsapp网站。我该怎么办?

这是我在网站上打开whatsapp网站所要做的事情:

<a class="social-icon whatsapp" 
  href="javascript:popWin('https://api.whatsapp.com/send?text=Product%20Name:-<?php echo $productName; ?>.%20Product%20link:-<?php echo $productUrl; ?>', 'whatsapp', 'width=640, height=480, left=0, top=0, location=no, status=yes, scrollbars=yes, resizable=yes');"
  title="<?php echo $this->__('Share on Whatsapp') ?>" 
  data-action="share/whatsapp/share">
  <span><i class="fa fa-whatsapp"></i></span>
</a>

5 个答案:

答案 0 :(得分:3)

使用它并可以正常工作。 (@ NSMedia-解决方案) 放

'myWebView.goBack();'

返回之前(用于不能在whatsApp网站中导航)

myWebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView wv, String url) {
                if(url.startsWith("tel:") || url.startsWith("whatsapp:")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse(url));
                    startActivity(intent);
                    myWebView.goBack();
                    return true;
                }
                return false;
            }
        });

答案 1 :(得分:1)

   webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView wv, String url) {
            if(url.startsWith("tel:") || url.startsWith("whatsapp:") || url.startsWith("intent://") || url.startsWith("http://") ) {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                startActivity(intent);
                webView.goBack();
                return true;
            }
            return false;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);

            invalidateOptionsMenu();
        }

        public void onReceivedError(WebView view, int errorCode,
                                    String description, String failingUrl) {
            try {
                invalidateOptionsMenu();
            } catch (Exception e) {

            }

            if (webView.canGoBack()) {
                webView.goBack();
            }

        }


        public void onPageFinished(WebView view, String url) {
            //     pullToRefresh.setRefreshing(false);

            invalidateOptionsMenu();
        }



    });

我的问题可以使用此代码解决。

答案 2 :(得分:0)

您可以使用,它对我有用:

选项优先-

<a href="whatsapp://send?text=Hello friend!" data-action="share/whatsapp/share">Share</a>

第二选项-

<a href="https://api.whatsapp.com/send?text=Hello friend!" data-action="share/whatsapp/share">Share</a> 

两个选项都对我有用。

如果无法在您身边使用,请更新您手机的android版本并更新whatsapp版本

答案 3 :(得分:0)

我在这里尝试了,并且有效:

<a href="intent://send?text=Hello#Intent;scheme=whatsapp;package=com.whatsapp;end" class="button">Go to Whatsapp/>

有关此here的信息,请参阅Chrome的文档。

答案 4 :(得分:0)

@Override
        public boolean shouldOverrideUrlLoading(WebView wv, String url) {
            if(url.startsWith("tel:") || url.startsWith("whatsapp:")) {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                startActivity(intent);
                return true;
            }
            return false;
        }

将此代码放入您的 mWebView.setWebViewClient(new WebViewClient())中。它对于所有链接(例如 tel: whatsapp: