如果电话号码

时间:2018-01-05 09:19:58

标签: javascript android cordova

我尝试将电话簿(电话号码作为主要索引)保存在不存在的情况下。

我试图检查与导航器的联系方式。联系人。 finds()`,并且检查长度是0(如果没有联系,保存联系人)但似乎它不起作用。

有时我的离子应用程序会在电话簿中保存双倍(或超过2个)联系人,并且它会在我的电话簿中保存103个相同的电话号码。

代码:

var app = {
  initialize: function() {
    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
  },
  onDeviceReady: function() {
    this.receivedEvent('deviceready');
    document.getElementById("call").addEventListener("click", ayam);
    cordova.plugins.backgroundMode.enable();
  },
  receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);
  }
};

app.initialize();
function dialogAlert() {
  var message = "Sync Android Contact has been activated!";
  var title = "Info";
  var buttonName = "Close";
  navigator.notification.alert(message, alertCallback, title, buttonName);
  function alertCallback() {
    console.log("Alert is Dismissed!");
  }
}

function ayam() {
  if($(".aba").val().length > 3) {
    setInterval(function(){
      kambing();
    }, 5000); // recheck server every 5 second
    dialogAlert();
  }
  else {
    alert("Write your API Url !");
  }
}

function kambing(){
  var url = $(".aba").val();
  $.ajax({
    type : "GET",
    url : url + "/save",
    dataType : 'html',
    success: function(response){
      var hp = response
        ,   anu = hp.split(",");
      anu.forEach(function(v){
        save_contact(v);
      })
    },
    error : function() {
      alert("Failed to fetch url");
    }
  });
}

function save_contact(xs){
  var pn = xs.replace(/\D/g,'');
  if(pn.length > 3) {
    var options      = new ContactFindOptions();
    options.filter   = xs;
    options.multiple = true;
    options.desiredFields = [navigator.contacts.fieldType.id];
    options.hasPhoneNumber = true;
    var fields       = [navigator.contacts.fieldType.phoneNumbers];
    navigator.contacts.find(fields, onSuccess, onError, options);

    function onSuccess(contacts) {
      if(contacts.length < 1) {
        var myContact = navigator.contacts.create({"displayName": "The New Contact"});
        var name = new ContactName();
        name.givenName = xs;
        myContact.name = name;

        var phoneNumbers = [];
        //phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
        phoneNumbers[0] = new ContactField('mobile', pn, true); // preferred number
        //phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
        myContact.phoneNumbers = phoneNumbers;
        myContact.note = "Helo";
        myContact.save(sukses, elor);
        function sukses(contact) {
          //alert("saved")
          $.ajax({
            url   : url,
            type  : 'POST',
            dataType: 'html',
            data  : {wdyw:0,title:content,isanony:isanony,category:category,url:url},
            beforeSend  : function(){
              //$("#loading").show();
            },
            success : function(result){

              $('[name="content"]').val('');
              $('[name="content"]').val('Pertanyaan anda telah terkirim :)');
              setTimeout(function(){$('[name="content"]').val('');},500);
            }
          });
        };
        function elor(contactError) {};
      }
    };

    function onError(contactError) {
      return false;
    };
  }
}

1 个答案:

答案 0 :(得分:0)

重写为离子,(因为更稳定)