Преобразовать международный телефонный номер в местный - PullRequest
1 голос
/ 09 января 2012

Я пытаюсь использовать libphonenumber библиотеку Google для преобразования числа из от международного к местному.

Международный номер представляет: "+97239658320"

Местный номер (здесь, в Израиле): "039658320"

http://code.google.com/p/libphonenumber/

    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();

    PhoneNumber phone = null;

    try
    {
        phone = PhoneNumberUtil.getInstance().parse("+97239658320", null);
    }

    catch (NumberParseException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

однако в «телефоне» результаты:

Country Code: 972 National Number: 39658320 (without the leading zero)

как мне правильно конвертировать?

1 Ответ

3 голосов
/ 10 января 2012

Глядя на быстрый пример страницы проекта , вы увидите, что после разбора вы должны иметь:

{
country_code: 972
national_number: 39658320
}

Чтобы получить его в желаемом формате, вы должны отформатировать его в формате NATIONAL:

phoneUtil.format(phone, PhoneNumberFormat.NATIONAL)

Чтобы удалить любые разделители телефонных номеров, взгляните на stripSeparators () из android.telephony.PhoneNumberUtils

...