当前位置: 代码迷 >> Android >> Cordova Contacts插件并不总是显示联系人列表
  详细解决方案

Cordova Contacts插件并不总是显示联系人列表

热度:68   发布时间:2023-08-04 11:35:48.0

我的应用程序和一个测试设备(iPhone 5,iOS 9.02)上有联系人插件,联系人列表没有显示。 当我进行搜索时,什么都没有出现。 我没有收到任何错误消息。 在我的一些其他设备上,如某些Android或iOS 8.x设备,它确实有效。 该特殊问题设备具有1200个触点。 任何人都有一些关于如何修复的建议? 我将粘贴代码的相关部分。 虽然可能更多的是配置问题?

$scope.getAllContacts = function(searchQuery) {
    try {
        var opts = { //search options
            filter: searchQuery, // 'Bob'
            multiple: true, // Yes, return any contact that matches criteria
            fields: ['displayName', 'name']
        };
        if (ionic.Platform.isAndroid()) {
            opts.hasPhoneNumber = true; //hasPhoneNumber only works for android.
        };

        $ionicLoading.show();

        $cordovaContacts.find(opts).then(function(contactsFound) {
            $scope.contacts = contactsFound;
            $ionicLoading.hide();
        });


    } catch (err) {
        alert(err.message);
    }
};

$scope.getAllContacts("Ak");

嗨用这个来保存SD卡和显示器中的所有联系人。 (默认的Cordova联系人和文件插件)

     document.addEventListener("deviceReady", deviceReady, false);

  function deviceReady() {

navigator.contacts.find(["*"], function(contacts) {

  //  alert("contacts.length = " + contacts.length);

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
        fileSystem.root.getFile("contacts.json", {create: true, exclusive: false}, function(fileEntry) {
            fileEntry.createWriter(function(writer) {
                writer.onwriteend = function(){
                  // Success Contacts saved to sdcard as a contacts.json file
                  // Now get and read the json file 

    var path = fileSystem.root.getFile("contacts.json", {create:false},gotFileEntry, fail);

   // jquery

   $.getJSON(path, function (data) {

    user = data;
    $.each(user, function (index, user) {
        var all_item = '<p id="'+user.id+'">'+user.displayName+'</p>';
        $('#allcontacts').append(all_item);
    });
});
                };
                writer.write(JSON.stringify(contacts));

            }, onError);

        }, onError);

    }, onError);

}, onError,{"multiple": true});}  
        function onError(){
            alert("Error"); 
                 }

您可以使用navigator.contacts.find,看看它是否适用于您的手机。 有关详细信息,

  相关解决方案