2010-02-12 9 views
3

Je voudrais savoir s'il est possible d'avoir des numéros de téléphone converti en format international lorsqu'un appel est sortant.numéro de téléphone android Convertir au format international

Par exemple, si un utilisateur français (désolé il est le seul format je sais que je ne vais pas faire une erreur :-) essayez d'appeler au format national: 01.47.12.34.56 alors une méthode va convertir au format international comme ceci: +33.1.47.12.34.56

Je l'ai regardé dans la doc des PhoneNumberUtils mais je ne sais pas si il y a une méthode à faire ce que je veux.

+0

Je suppose que ce serait un double pour: http://stackoverflow.com/questions/487906/java-phone-number-format-api et http://stackoverflow.com/questions/501368/phone-number- format-and-validaton-library – Macarse

Répondre

0

Le numéro ne vient-il pas en tant que chaîne?

En utilisant les méthodes de chaîne de Java, vous pouvez le faire vous-même facilement si je ne me trompe pas?

Alors obtenir la chaîne, le flic de 0 au large et ajouter le +33

+1

mais comment puis-je récupérer le code du pays par programmation? (33 est seulement pour la France) – Arutha

+0

ah bonne question, peut-être utiliser un fichier .properties? –

+2

rempli avec les codes de tous les pays ?? !! – Arutha

5

poste vieux, mais si elle aide à tout le monde: utiliser la bibliothèque libphonenumber de Google pour faire toutes sortes de mise en forme et la validation des numéros de téléphone. Dans ce cas particulier, pour convertir au format international, utilisez l'API format(PhoneNumber number, PhoneNumberFormat format) dans la classe PhoneNumberUtil dans la même bibliothèque.

+1

Malheureusement, 'libphonenumber' n'aide que si vous connaissez le code de pays du numéro de téléphone que vous lui donnez. Toutes les méthodes 'PhoneNumberUtil' qui fabriquent un' PhoneNumber' à partir du texte requièrent le numéro commençant par un + et le code du pays (par exemple +447771234567) ou doivent à la place avoir le code de pays attendu du numéro spécifié. Vous penseriez que 'libphonenumber' serait en mesure d'accepter une chaîne de numéro de téléphone dans n'importe quel format et tenter d'identifier le code du pays, mais cela ne semble pas être le cas. – Phil

+0

@Phil, l'application peut accéder à l'emplacement de la carte SIM pour obtenir le code du pays. –

+0

@ user908821 merci pour le conseil très utile. Je n'avais pas encore commencé à enquêter là-dessus, alors vous venez de me sauver quelques heures! – Phil