Plugin de Contatos do Cordova
Galera, estou usando o plugin do phoengap para ter acesso a agenda do celular, ate ai ok.
Estou com problema no seguinte item..
Fiz um script que atualiza todos os meus telefones da agenda adicionando o ddd da minha cidade.. o problema é que tenho em minha agenda 500 contatos..
Quando eu faço update de 20 contatos apenas atualiza certinho, porem quando mando atualizar os 500 o aplicativo carrega mas nao atualiza, no meu caso fica na tela de loading...
Ja fiz de tudo, coloquei setTimeout, coloquei callback, e muitas outras coisas que ja esqueci porem o aplicativo trava e nao atualiza.
Como disse o mesmo codigo para 20 contatos atualiza normal negocio é quando tenho muitos contatos.
var Contato = {
atualizarContatos: function(cb){
// find all contacts with 'Bob' in any name field
var fields = [navigator.contacts.fieldType.displayName];
navigator.contacts.find(fields, function(contacts){
//myApp.showPreloader("Fazendo backup dos dados, antes de atualizar");
// Contatos.backup(contacts, function(){
myApp.showPreloader("Atualizando os números de telefones");
Contatos.alterarContatos(contacts, function(totalSucesso, totalErro){
//console.log(totalSucesso + ' erro ' + totalErro);
myApp.hidePreloader();
cb(totalSucesso, totalErro);
});
// });
}, function(error){
console.error(error);
myApp.hidePreloader();
cb(error);
});
},
alterarContatos: function(telefones, cb){
var totalGeral = telefones.length, totalAtualizado = 0, totalErro = 0, hora = 0;
var atualizou = 0;
for(var i = 0; i < 100; i++){
var objContato = telefones[i];
console.log("Nome " +objContato.name.formatted);
if(objContato.phoneNumbers){
for(var a = 0; a < objContato.phoneNumbers.length; a++){
var objNum = objContato.phoneNumbers[a];
//aqui poem o 65 uma outra funcao
Funcoes.corrigirNumero(Funcoes.soNumero(objNum.value),function(novoNumero, atualiza){
if(atualiza == true){
console.log("New Number " +novoNumero);
atualizou = atualizou +1;
objNum.value = novoNumero;
}else{
}
});
}
}
objContato.save(function(saveSuccess) {
// totalAtualizado++;
console.log("Success - ");
}, function(saveError){
// totalErro++;
console.log("Erro...");
// cb(atualizou, 1);
});
// sleep(1000);
}
//callback
cb();
}
}
Contato.atualizarContatos(function(){
alert(1);
})
Eu estava testando com os console para o log e vi que ele passa em todas as etapas porém nao esta entrando no metodo da .save do plugin.
Se alguem tiver alguma solução extra para um problema assim estou aberto a sugestoes.
Discussão (0)
Carregando comentários...