2011-07-21 17 views

Odpowiedz

2
  1. Get the calling number.
  2. Znajdź kod kraju w to
  3. Znajdź kraj na mapie. Możesz użyć here, aby ją skonstruować.

Mam nadzieję, że to pomaga.

+0

Nie jestem pewien, czy to odpowiada na pytanie. Jak znaleźć kod kraju? – Psypher

0

Korzystanie libphonenumber

public String convertPhoneNumber(String phoneNumber, PhoneNumberUtil.PhoneNumberFormat format) { 
    String resultNumber = ""; 
    Phonenumber.PhoneNumber myNumberProto = null; 
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); 
    if (!phoneNumber.substring(0, 1).equals("+")) { 
     try { 
      myNumberProto = phoneUtil.parse(phoneNumber, 
        Locale.getDefault().getCountry().toUpperCase()); 
      resultNumber = phoneUtil.format(myNumberProto, 
        format); 
     } catch (NumberParseException e) { 
      System.err.println("NumberParseException was thrown: " + e.toString()); 
     } 
    } else { 
     try { 
      myNumberProto = phoneUtil.parse(phoneNumber, "ZZ"); 
      resultNumber = phoneUtil.format(myNumberProto, 
        format); 
     } catch (NumberParseException e) { 
      System.err.println("NumberParseException was thrown: " + e.toString()); 
     } 
    } 

    return resultNumber; 
} 


public String getRegionOfPhoneNumber(String callNumber) { 
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); 
    Phonenumber.PhoneNumber myNumberProto = null; 
    callNumber = convertPhoneNumber(callNumber, PhoneNumberUtil.PhoneNumberFormat.E164); 
    try { 
     myNumberProto = phoneUtil.parse(callNumber, "ZZ"); 
    } catch (NumberParseException e) { 
     e.printStackTrace(); 
    } 
    String result = ""; 
    if (myNumberProto != null) { 
     result = phoneUtil.getRegionCodeForCountryCode(myNumberProto.getCountryCode()); 
    } 
    return result; 
} 

public String getCountryNameOfPhoneNumber(String callNumber) { 
    String result = ""; 
    String regionCode = getRegionOfPhoneNumber(callNumber); 
    if (!regionCode.equals("")) { 
     result = new Locale("", regionCode).getDisplayCountry(Locale.getDefault()); 
    } 
    return result; 
} 

Wykorzystanie: getCountryNameOfPhoneNumber ("numer telefonu");

Mam nadzieję, że ta pomoc ktoś

Powiązane problemy