Android 手机号码归属地(使用libphonenumber)

1. 必要的包(尽量使用最新版本)
  • libgeocoding.jar
  • libphonenumber.jar
可能需要的包
  • carrier.jar
  • geocoder.jar
2. 核心代码演示

先申请工具类实例

private static PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
    private static PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
public String getGeo(String phoneNumber, String countryCode) {
        int ccode = Integer.parseInt(countryCode);
        long phone = Long.parseLong(phoneNumber);
        PhoneNumber pn = new PhoneNumber();
        pn.setCountryCode(ccode);
        pn.setNationalNumber(phone);
        return geocoder.getDescriptionForNumber(pn,mContext.getResources().getConfiguration().locale);
    }

直接调用getGeo()方法就可以,第一个参数是电话号码,第二个是国家代码,比如中国就是86。最终的结果可以精确到市,比如“中国武汉”

你可能感兴趣的:(Android 手机号码归属地(使用libphonenumber))