我开发了一个网站,主要用在手机上。 我想让用户直接从网页分享信息到WhatsApp。

使用UserAgent检测,我可以区分Android和iOS。 我发现,为了在iOS中实现上述功能,我可以使用URL:

href="whatsapp://send?text=http://www.example.com"

我仍然在寻找当操作系统是Android时使用的解决方案(因为上面的不工作)。 我猜这在某种程度上与在Android中使用“意图”有关,但我不知道如何将其作为href的参数。


当前回答

恐怕Android版WhatsApp目前不支持从web浏览器调用。

我现在的项目也有同样的要求,因为我找不到任何合适的信息,所以我最终下载了APK文件。

在Android中,如果一个应用程序想要从web浏览器中被调用,它需要定义一个带有类别Android .intent.category. browsable的Activity。

你可以在这里找到更多信息:https://developers.google.com/chrome/mobile/docs/intents

如果你看一下WhatsApp的AndroidManifest.xml文件,唯一的活动类别BROWSABLE是这个:

<activity android:name="com.whatsapp.Conversation"   android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>
    </activity>

我已经玩了一段时间了,但我不能让它工作。我最多只能从Chrome浏览器打开WhatsApp应用程序,但我不知道如何设置消息内容和收件人。

由于WhatsApp团队没有记录,我认为这项工作仍在进行中。看起来未来WhatsApp也会提供短信服务。

获得更多信息的唯一方法是联系WhatsApp的开发团队,我试过了,但我仍在等待回复。

的问候!

其他回答

最新更新

现在您可以使用来自whatsapp https://wa.me/的最新API,而无需担心用户代理,API将执行用户代理处理。

在各自的whatsapp客户端(Android / iOS / Webapp)中共享带有联系人选择选项的预填充文本:

https://wa.me/?text=urlencodedtext

在各自的whatsapp客户端(Android / iOS / Webapp)中打开特定whatsapp用户的聊天对话框:

https://wa.me/whatsappphonenumber

与特定用户共享预填充文本(结合以上两个):

https://wa.me/whatsappphonenumber/?text=urlencodedtext

注意:whatsappphonenumber应该是国际格式的完整电话号码。在添加国际格式的电话号码时,请省略任何零、括号或破折号。

官方文件请访问https://faq.whatsapp.com/en/general/26000030

刚刚在我的超级旧的Android 2.3.3上用whatapp 2.11.301测试了whatsapp://方案,效果很好。它似乎只是什么应用程序的版本。由于whatapp强迫每个人更新,所以使用它应该是安全的。

whatapp文档也提到了这个方案:http://www.whatsapp.com/faq/en/android/28000012

我现在正在生产站点上使用它,如果我收到任何用户投诉,我将在这里更新。

编辑(11月14日):几周后没有用户投诉。

一般来说,只在iOS或Android设备上使用java脚本显示Whatsapp Link是有意义的:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }

根据新的文档,链接现在是:

<a href="https://wa.me/?text=urlencodedtext">Share this</a>

如果不奏效,试试下面这个:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>

目前,这很容易实现。你只需要添加以下代码到你的页面:

<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>

就是这样。不需要Javascript,不需要其他任何东西。当然,你可以根据自己的喜好来设置样式,并添加一个漂亮的Whatsapp图标。

我用谷歌Chrome浏览器在我的Android设备上测试了这个功能。版本:

Android 4.1.2(果冻豆) Chrome Mobile 37.0.2062.117。也在Firefox Mobile 31.0上进行了测试。 Whatsapp V 2.11.399

它也适用于iOS。我用Safari在iPhone 5上做了一个快速测试,效果也很好。

希望这能帮助到一些人。: -)