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。最终的结果可以精确到市,比如“中国武汉”