Salve, spero che possiate aiutarmi in questo mio problema:
Ho realizzato una APP che deve trovare il contatto corrispondente al numero di telefono passato.
Sto utilizzando il plugin
navigator.contacts.find
La funzione di ricerca funziona bene solo se il contatto ha il numero di telefono compatto, ovvero senza spazi.
Di default lo smartphone memorizza i numero in questo formato "+39 333 123 1234"
Quindi se io cerco il numero "+393331231234" la ricerca fallisce.
Se vado a modificare il numero del contatto, eliminando gli spazi, la ricerca ha esito positivo.
Ora le cose da fare sono 2:
1- Formattare prima il numero da cercare
2- Chiedere a "contacts.find" di ignorare spazi, punti, trattini e parentesi
Per la prima opzione non so qual è lo standard, datosi che i numeri internazionali sono formattati diversamente. faccio un esempio con dei numeri del Messico
+52 9999221234
+52 1 999 163 1234
+52 999 123 4567
Come si vede, le formattazioni sono diverse
Per la seconda opzione, che sarebbe la migliore, non so se sia possibile e/o come poter intervenire.
Vi mostro la mia funzione di ricerca
codice:
function CercaContatto() {
var MyNum="+393372277123";
var options = new ContactFindOptions();
options.filter = MyNum; // numero da cercare in rubrica
options.multiple = false; // ricerca multipla di contatti
filter = ["phoneNumbers"]; // campi della rubrica in cui cercare
navigator.contacts.find(filter, onSuccess, onError, options);
}
in teoria dovrei specificare qualcosa in filter indicando che i contenuti in campo phoneNumbers devono essere compattati prima della ricerca.
Purtroppo non ho trovato nulla su Internet, datosi che tutti gli esempi (sempre lo stesso) parlano solo di ricerca di un nome e non di un numero di telefono.
Spero di essere stato chiaro sul mio problema.
saluti e Buona Pasqua