【问题标题】:Cordova Share via WhatsApp from a click inside WebViewCordova 通过 WhatsApp 在 WebView 内单击共享
【发布时间】:2015-08-06 19:12:58
【问题描述】:

我使用 Cordova (5.5.1) 构建了我的应用程序,我正在尝试通过 WhatsApp 分享 Url。 我正在使用以下协议:whatsapp://send?text= test

如果我在移动浏览器上打开我的网站,它就可以工作。在 iOS 上它也能正常工作。

我已尝试将此 <access origin="whatsapp:*" launch-external="yes" /> 添加到我的 config.xml 中,但仍然无法正常工作。

我正在使用 InAppBrowser,这就是我打开网页视图的方式

var ref = window.open("http://m.estadao.com.br/?load-all=true", "_blank", "location=no", "toolbar=no", "closebuttoncaption=a", "EnableViewPortScale=no");

这是错误:

知道如何解决这个问题吗?

【问题讨论】:

  • 我不清楚。首先,您在 inAppBrowser 上打开您的网站,您打开的网页有 whatsapp 链接?
  • @jcesarmobile 准确
  • @jcesarmobile 我这边也出现了同样的错误。我已经使用适用于 android 的 inappbrowser 打开了我的网站。它添加了任何社交媒体共享图标,whatsapp 显示此错误
  • @HeemanshuBhalla,所以你使用的是 InAppBrowser,所以我对另一个问题所说的不适用,那是在 Cordova webview 内部。正如我所说,最好创建您自己的问题并提供更多信息,例如您正在使用 InAppBrowser 并且当网站具有社交媒体按钮时会发生这种情况,并且这些按钮的作用示例也可能会有所帮助
  • 确定@jcesarmobile。我很快就会做。

标签: android ios cordova webview whatsapp


【解决方案1】:

我解决了它编辑插件InAppBrowser.java的核心

改了

else if (url.startsWith("geo:") || url.startsWith(WebView.SCHEME_MAILTO) || url.startsWith("market:")){
            try {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                cordova.getActivity().startActivity(intent);
            } catch (android.content.ActivityNotFoundException e) {
                LOG.e(LOG_TAG, "Error with " + url + ": " + e.toString());
            }
        }

else if (url.startsWith("geo:") || url.startsWith(WebView.SCHEME_MAILTO) || url.startsWith("market:") || url.startsWith("whatsapp:"))  {
            try {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                cordova.getActivity().startActivity(intent);
            } catch (android.content.ActivityNotFoundException e) {
                LOG.e(LOG_TAG, "Error with " + url + ": " + e.toString());
            }
        }

在您的 config.xml 中添加此 <access origin="whatsapp:*" launch-external="yes" /> 也很重要。

【讨论】:

  • +vbotio 我认为您应该将您的答案标记为已接受的答案(绿色的 V 形图标)。这是我发现的相同问题的解决方案,Android 应用程序试图从 WebView 中打开 Whatsapp。
  • 即使在编辑了“InAppBrowser.java”文件后,此解决方案也不适合我。
  • 它也没有帮助我,我已经应用了提到的两个更改
  • 它对我也不起作用....有什么解决办法吗?我正在尝试从应用内浏览器加载 whatsapp 自定义架构“whatsapp://”。链接在加载页面上的位置。
  • @SD 你能提供更多关于你的问题的细节吗?
猜你喜欢
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多