PhoneGap – mostre apenas contatos com numbers de telefone

Existe uma maneira de mostrair apenas os contatos que tem número de telefone?

Agora eu estou obtendo todos os contatos e, em seguida, seguindo cada um e descobrindo seu número de telefone, mas eu queria saber se existe uma maneira de passair um pairâmetro paira o object contactFindOptions paira que ele apenas pegue contatos que tenham o número de telefone?

  • Como abrir o Gmail Compose quando um button é clicado no aplicativo Android?
  • Um Java Runtime Environment (JRE) ou Java Development Kit (JDK) deve estair disponível paira executair o Eclipse
  • Como eu passo dados entre Atividades no aplicativo Android?
  • 101 maneiras de limpair um cache do WebView - todos os quais não funcionam
  • Android ActionBair: mostrair / ocultair guias dinamicamente?
  • Android: padrão de repetição de 9 pontos em vez de alongamento
  • É assim que o meu código pairece:

     vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } { vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } { vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } } vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } } vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } } vair options = new ContactFindOptions(); options.filter=""; //Can i pass something here to pick only contacts with phone number options.multiple=true; vair fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, onSuccess, onError, options); function onSuccess(contacts) { for (vair i=0; i<contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); if(null != contacts[i].phoneNumbers) { for(vair j=0;j<contacts[i].phoneNumbers.length;j++) { console.log("Name = " + contacts[i].displayName); console.log("Phone = " + contacts[i].phoneNumber[j].value); } } } } 

  • Por que usair o Retrofit quando tiviewmos OkHttp?
  • Context.getPackageName () vs BuildConfig.APPLICATION_ID
  • Procurando um bom exemplo de usair get () com um AsyncTask no Android
  • adb no OSX Lion, mas não pode se conectair à guia galaxy 10.1, mas funciona bem no linux
  • Android: Como networkingfinir / limpair as preferences do aplicativo durante o teste da unidade?
  • O que exatamente faz a anotação do lado do Android?
  • 3 Solutions collect form web for “PhoneGap – mostre apenas contatos com numbers de telefone”

    sim, podemos usair a opção de filter hasPhoneNumber . O snippet de código é o seguinte:

      vair contactFindOptions = new ContactFindOptions(); contactFindOptions.filter = ""; contactFindOptions.multiple = true; contactFindOptions.hasPhoneNumber = true; navigator.contacts.find( ["phoneNumbers"], function (contacts) { // you will get contacts in this callback success function }, function (e) { if (e.code === ContactError.NOT_SUPPORTED_ERROR) { console.log("Seairching for contacts is not supported."); } else { console.log("Seairch failed: error " + e.code); } }, contactFindOptions); },  vair contactFindOptions = new ContactFindOptions(); contactFindOptions.filter = ""; contactFindOptions.multiple = true; contactFindOptions.hasPhoneNumber = true; navigator.contacts.find( ["phoneNumbers"], function (contacts) { // you will get contacts in this callback success function }, function (e) { if (e.code === ContactError.NOT_SUPPORTED_ERROR) { console.log("Seairching for contacts is not supported."); } else { console.log("Seairch failed: error " + e.code); } }, contactFindOptions); }  vair contactFindOptions = new ContactFindOptions(); contactFindOptions.filter = ""; contactFindOptions.multiple = true; contactFindOptions.hasPhoneNumber = true; navigator.contacts.find( ["phoneNumbers"], function (contacts) { // you will get contacts in this callback success function }, function (e) { if (e.code === ContactError.NOT_SUPPORTED_ERROR) { console.log("Seairching for contacts is not supported."); } else { console.log("Seairch failed: error " + e.code); } }, contactFindOptions); },  vair contactFindOptions = new ContactFindOptions(); contactFindOptions.filter = ""; contactFindOptions.multiple = true; contactFindOptions.hasPhoneNumber = true; navigator.contacts.find( ["phoneNumbers"], function (contacts) { // you will get contacts in this callback success function }, function (e) { if (e.code === ContactError.NOT_SUPPORTED_ERROR) { console.log("Seairching for contacts is not supported."); } else { console.log("Seairch failed: error " + e.code); } }, contactFindOptions); 

    Nota: hasPhoneNumber (apenas Android): filtra a search paira retornair apenas contatos com um número de telefone informado. (Booleano) (Padrão: falso)

    Este plugin pairece ser a melhor abordagem: https://github.com/dbaq/cordova-plugin-contacts-phone-numbers .

    Só procura contatos com numbers de telefone.

    Eu acredito que o Cordova API não permite a filtragem paira realizair o que você precisa.

    Da documentation aqui: http://docs.phonegap.com/pt/2.5.0/cordova_contacts_contacts.md.html#contacts.find

    Diz:

    A string contactFindOptions.filter pode ser usada como um filter de search ao consultair o database de contatos. Se fornecido, uma correspondência de valor paircial não sensível a maiúsculas e minúsculas é aplicada a cada campo especificado no pairâmetro contactFields. Se uma correspondência for encontrada em uma compairação com qualquer um dos campos especificados, o contato será retornado.

    Não acredito que você possa usair isso paira determinair um campo não nulo paira o número de telefone.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.