从webview启动whatsapp

时间:2015-11-10 12:50:31

标签: android webview whatsapp

我有一个应用程序,可以在webview中加载报纸网站。在该网站,您可以在Facebook,Twitter和WhatsApp上分享新闻。我有facebook和twitter的链接用

覆盖
shouldOverrideUrlLoading()

我无法理解如何启动whatsapp应用程序。它使用自定义URL方案:

whatsapp://send?text=

我得到:whatsapp:// send?text =的网页无法加载,因为:

net::ERR_UNKNOWN_URL_SCHEME

6 个答案:

答案 0 :(得分:2)

我建议使用this问题中的循环:使用Intent.ACTION可以获得最佳效果。

答案 1 :(得分:0)

请务必在ENV["stripe_api_key"] # => "sk_live_dSqzdUq80sw9GWmuoI0qJ9rL" ENV.key?("stripe_api_key") # => true ENV["google_analytics_key"] # => nil ENV.key?("google_analytics_key") # => false

之后使用正确的网址编码字符串

答案 2 :(得分:0)

我刚刚发现可以与数字Using Click to Chat

进行对话
  

使用预填充的消息创建自己的链接,该消息将   自动出现在聊天的文本字段中,使用   https://wa.me/whatsappphonenumber/?text=urlencodedtext其中   whatsappphonenumber是国际格式的完整电话号码,并且   URL编码的文本是URL编码的预填充消息。

示例:https://wa.me/15551234567?text=I'm%20interested%20in%20your%20car%20for%20sale

注意::如果您使用手机浏览器(至少在Android中)单击链接,则会打开WhastApp应用程序

答案 3 :(得分:0)

this.webView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean  shouldOverrideUrlLoading(WebView view, String url) {
            if (url != null && url.startsWith("https://wa.me")) {
                view.getContext().startActivity(
                        new Intent(Intent.ACTION_VIEW, Uri.parse(url.replace("+",""))));

                return true;

            } else {
                return false;
            }
        }
    });

答案 4 :(得分:0)

请勿将wa.me用作在whatsapp上共享文本的域。只需在这里自己测试此URL:http://wa.me/?text=mytest。我看到了:

错误

找不到页面

请勿使用wa.me域。使用api.whatsapp.com域。 wa.me要求您使用电话号码。好吧,通常,您希望将共享URL与用户认识的其他人共享,因此,您希望将其留空。看看...

https://api.whatsapp.com/send?text=YourShareTextHere

https://api.whatsapp.com/send?text=YourShareTextHere&phone=123

为我工作!希望这对外面的人有帮助!

如果您有兴趣观看跟踪这些URL的项目,请访问我们!:https://github.com/bradvin/social-share-urls#whatsapp

Social Share URLs

答案 5 :(得分:0)

 webView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(url.startsWith("tel:") || url.contains("https://wa.me/")) {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                startActivity(intent);
                return true;
            }
            return false;
        }
    });