version:1.3.4

fix:修复闪退
update:优化联系人添加
This commit is contained in:
2024-10-23 09:19:18 +08:00
parent b5b12c3e83
commit d215329e28
74 changed files with 2251 additions and 1138 deletions

View 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 "未知";
}
}