WhatsApp的Cordova插件:打开聊天窗口

时间:2017-01-17 09:15:27

标签: cordova-plugins hybrid-mobile-app whatsapp cordova-ios

我正在构建Cordova ios应用程序。 我已经尝试过这两个插件来打开WhatsApp:FirstSecond。 它们都非常有助于为特定联系人打开WhatsApp。但不是一气呵成。

这意味着它会在第一次点击时打开WhatsApp,但不会为特定联系人打开聊天窗口。它是在第二次点击之后完成的。

我理解的是,在第一次点击它保存(创建一个新的联系人)联系人并打开WhatsApp然后WhatsApp联系人得到更新。当我们第二次点击时,它会打开特定联系人的聊天窗口。

我正在寻找更新WhatsApp联系人的cordova插件。现在,我没有找到任何。

如果你们对此有任何想法请分享,这确实有帮助。

我的代码:

    this.whatsappHandler = function() {
      var that = this;
      if(cordova.platformId !== 'browser') {
        $("#headerbar_"+this.getCurPage().id+" [data-whatsapp]").each(function () {
          $(this).click(function () {
            var phno = $(this).data('whatsapp');
            var name = $(this).data('name');
            function onSuccess(contacts) {
              console.log('Found ' + contacts.length + ' contacts.');
              if(!contacts.length) {
                var contact = navigator.contacts.create({"displayName": name});
                var phoneNumbers = [];
                console.log(phno);
                phoneNumbers[0] = new ContactField('mobile', phno, true);
                contact.phoneNumbers = phoneNumbers;
                contact.save();
                that.showToast({
                    message: "Contact saved. Tap on WhatsApp again",
                    duration: "long",
                    position: "bottom"
                });
              } else {
                that.openWhatsapp(contacts[0]);
              }
            };
            function onError(contactError) {
              console.log('Finding Contact Error!');
            };
            var options      = new ContactFindOptions();
            options.filter   = phno;
            options.multiple = true;
            options.hasPhoneNumber = true;
            var fields       = [navigator.contacts.fieldType.phoneNumbers];
            navigator.contacts.find(fields, onSuccess, onError, options);

          });
        });
      }
    };

    this.openWhatsapp = function(contact) {
      this.showToast({
          message: "Opening WhatsApp...",
          duration: "long",
          position: "bottom"
      });
      setTimeout(function(){
        if(cordova.platformId === 'ios')
          window.location = 'whatsapp://send?abid='+contact.id;
        else if(cordova.platformId === 'android')
          cordova.plugins.Whatsapp.send(contact.phoneNumbers[0].value);
      },1500);
    };

0 个答案:

没有答案