2010-04-25 2 views
0

В Android я могу без проблем получить номера телефонов всех контактов.Телефонный номер контактного формата в Android

Проблема в том, что для большинства пользователей некоторые номера хранятся как «локальные» номера, а это значит, что они не содержат код страны.

Например, если пользователь живет в США, и у него есть 2 контакта:

  1. Джон - 555-123-1234 (местный) (начиная с 1 не показано)

  2. Джейн - 44 -123456787 (англия номер телефона)

вопрос: Как я могу получить все номера в международном формате, когда некоторые из чисел не включает код страны? Любой способ понять это?

ответ

1

Я думаю, что единственный способ сделать это - иметь таблицу со всеми кодами страны и выяснить, в какой стране номер телефона.

2

Проверьте android.telephony.PhoneNumberUtils и посмотрите, делает ли один из своих статических методов то, что вам нужно.

+0

спасибо, но я не нашел никакого метода в PhoneNumberUtils, который мог бы помочь мне с моей проблемой. Я думаю, что единственный способ сделать это - иметь список всех кодов стран в таблице, и если число начинается с знака +, я знаю его международный, и я могу выяснить, из какой страны, если нет, я знаю его местный. –

+0

Я не пробовал, но есть 'PhoneNumberUtils.formatNumber (String.valueOf (number))'. Описание метода: Разбивает заданное число вниз и форматирует его в соответствии с правилами страны, из которой это номер. –