2016-06-22 4 views
0

Ich habe ein Verzeichnis, das einige Informationen wie Name und zugehörige Telefonnummern anzeigt, wenn Sie darauf klicken, wird es zur Telefonanrufseite gehen (Nativ). Wie kann ich den Namen und die Telefonnummer Kontakte speichern cordovaWie kann ich Mobiltelefonnummern mit Cordova in Kontakte speichern?

HTML verwenden: http://paste.ofcode.org/xkYBGvnTcJsVt2ZWDB6jEu

app.js: http://paste.ofcode.org/?edit=mHrb8K6CYTJS5nxdg722FK

Homview.js

var HomeView = function (service) { 

    var employeeListView; 

    this.initialize = function() { 
     this.$el = $('<div/>'); 
     this.$el.on('keyup', '.search-key', this.findByName); 
     employeeListView = new EmployeeListView(); 
     this.render(); 
    }; 

    this.render = function() { 
     this.$el.html(this.template()); 
     $('.content', this.$el).html(employeeListView.$el); 
     return this; 
    }; 

    this.findByName = function() { 
     service.findByName($('.search-key').val()).done(function(employees) { 
      employeeListView.setEmployees(employees); 
     }); 
    }; 

    this.initialize(); 
} 

EmployeeService.js

var EmployeeService = function() { 

    this.initialize = function() { 
     // No Initialization required 
     var deferred = $.Deferred(); 
     deferred.resolve(); 
     return deferred.promise(); 
    } 

    this.findById = function(id) { 
     var deferred = $.Deferred(); 
     var employee = null; 
     var l = employees.length; 
     for (var i=0; i < l; i++) { 
      if (employees[i].id === id) { 
       employee = employees[i]; 
       break; 
      } 
     } 
     deferred.resolve(employee); 
     return deferred.promise(); 
    } 

    this.findByName = function(searchKey) { 
     var deferred = $.Deferred(); 
     var results = employees.filter(function(element) { 
      var fullName = element.firstName + " " + element.lastName; 
      return fullName.toLowerCase().indexOf(searchKey.toLowerCase()) > -1; 
     }); 
     deferred.resolve(results); 
     return deferred.promise(); 
    } 
    function onSuccess(contacts) { 
    alert('Found ' + contacts.length + ' contacts.'); 
}; 


function createContact(contacts) { 
    contacts = navigator.contacts.create(); 
    contacts.save(contactSuccess, contactError); 

    function contactSuccess() { 
     alert("Contact is saved!") 
    } 

    function contactError(message) { 
     alert('Failed because: ' + message); 
    } 

} 
function onError(contactError) { 
    alert('onError!'); 
}; 



    var employees = [ 
     {"id": 1, "firstName": "Naveen", "lastName": "Bannikoppa", "managerId": 0, "managerName": "", "title": "Mobile:7411859736", "department": "Corporate", "cellPhone": "617-000-0001", "officePhone": "7411859736", "email": "[email protected]", "city": "Boston, MA", "pic": "James_King.jpg", "twitterId": "@fakejking", "blog": "http://coenraets.org"}, 
     {"id": 2, "firstName": "Nishan", "lastName": "Shah", "managerId": 1, "managerName": "Amit vijay", "title": "Software Engineer", "department": "Software Delivery", "cellPhone": "8867793489", "officePhone": "7411859736", "email": "[email protected]", "city": "Bengaluru, KA", "pic": "Nishan_Shah.jpg", "twitterId": "@nishanshah", "blog": "http://ionidea.com"} 

    ]; 

} 

EmployeeListVew.js

var EmployeeListView = function() { 

    var employees; 

    this.initialize = function() { 
     this.$el = $('<div/>'); 
     this.render(); 
    }; 

    this.setEmployees = function(list) { 
     employees = list; 
     this.render(); 
    } 

    this.render = function() { 
     this.$el.html(this.template(employees)); 
     return this; 
    }; 

    this.initialize(); 

} 

EmployeeView.js

var EmployeeView = function(employee) { 

    this.initialize = function() { 
     this.$el = $('<div/>'); 
    }; 

    this.render = function() { 
     this.$el.html(this.template(employee)); 
     return this; 
    }; 

    this.initialize(); 

} 

Antwort

1

Sie sollten die Dokumentation von Kontakten Plugin überprüfen

https://github.com/apache/cordova-plugin-contacts#save-example

Grundsätzlich zuerst, dann speichern Sie sie erstellen.

aktualisieren

aktualisieren Create Sie mit folgenden Funktion sicherstellen, dass Sie die markierten Linien mit Ihren Bedürfnissen bearbeiten

function createContact(contacts) { 
    var _contacts = navigator.contacts.create(); 
    // Create and assign phone numbers 
    _contacts.phoneNumbers = [ 
     new ContactField('mobile', contacts.something.phone_number) // Edit here 
    ]; 
    // Create and assing contact name 
    var name = new ContactName(); 
    name.givenName = 'Can'; // Edit here 
    name.familyName = 'Tecim'; // Edit here 
    _concacts.name = name; 

    // Set the display name 
    _contacts.displayName = _contacts.nickname = 'Can Tecim'; // Edit here 
    _contacts.save(contactSuccess, contactError); 

    function contactSuccess() { 
     alert("Contact is saved!") 
    } 

    function contactError(message) { 
     alert('Failed because: ' + message); 
    } 

} 
+0

Ich bin bereit, mit Kontakten, wie ich sie retten können, neu zu Hybrid nicht immer mit von Plugins – OhStack

+0

Sie müssen Kontakte Plugin verwenden, das Plugin ist offizielles Plugin von Cordova, wie Sie es verwenden können Sie hier überprüfen: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin -contacts/index.html Nach der Installation von i t Sie können den Beispielcode auf dem ersten Link verwenden, den ich gepostet habe –

+0

Haben Sie das gelöst? –

Verwandte Themen