version:1.3.4
fix:修复闪退 update:优化联系人添加
This commit is contained in:
56
app/src/main/java/com/xxpatx/os/utils/MobileNumberUtils.java
Normal file
56
app/src/main/java/com/xxpatx/os/utils/MobileNumberUtils.java
Normal file
@@ -0,0 +1,56 @@
|
||||
package com.xxpatx.os.utils;
|
||||
|
||||
import com.google.i18n.phonenumbers.NumberParseException;
|
||||
import com.google.i18n.phonenumbers.PhoneNumberToCarrierMapper;
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil;
|
||||
import com.google.i18n.phonenumbers.Phonenumber;
|
||||
import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class MobileNumberUtils {
|
||||
private static final String TAG = "MobileNumberUtils";
|
||||
private static final String LANGUAGE = "CN";
|
||||
|
||||
//获取手机号码运营商
|
||||
public static String getCarrier(String phoneNumber) {
|
||||
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
|
||||
PhoneNumberToCarrierMapper carrierMapper = PhoneNumberToCarrierMapper.getInstance();
|
||||
Phonenumber.PhoneNumber referencePhonenumber = new Phonenumber.PhoneNumber();
|
||||
try {
|
||||
referencePhonenumber = phoneNumberUtil.parse(phoneNumber, LANGUAGE);
|
||||
} catch (NumberParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
//返回结果只有英文,自己转成成中文
|
||||
String carrierEn = carrierMapper.getNameForNumber(referencePhonenumber, Locale.CHINA);
|
||||
// if (Locale.CHINA.getCountry().equals(Locale.getDefault().getCountry())) {
|
||||
// switch (carrierEn) {
|
||||
// case "China Mobile":
|
||||
// return "中国移动";
|
||||
// case "China Unicom":
|
||||
// return "中国联通";
|
||||
// case "China Telecom":
|
||||
// return "中国电信";
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
return carrierEn;
|
||||
}
|
||||
|
||||
//获取手机号码归属地
|
||||
public static String getGeo(String phoneNumber) {
|
||||
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
|
||||
PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
|
||||
Phonenumber.PhoneNumber referencePhonenumber = null;
|
||||
try {
|
||||
referencePhonenumber = phoneNumberUtil.parse(phoneNumber, LANGUAGE);
|
||||
//手机号码归属城市 referenceRegion
|
||||
return geocoder.getDescriptionForNumber(referencePhonenumber, Locale.CHINA);
|
||||
} catch (NumberParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "未知";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user