库libphonenumber在 Android 上不起作用,异常显示:“原因:java.lang.UnsupportedOperationException:不支持 CANON_EQ 标志”
网页中的描述说该库是用于“智能手机”但 Android 不支持 CANON_EQ reg_ex 标志..
我错过了什么吗?
库libphonenumber在 Android 上不起作用,异常显示:“原因:java.lang.UnsupportedOperationException:不支持 CANON_EQ 标志”
网页中的描述说该库是用于“智能手机”但 Android 不支持 CANON_EQ reg_ex 标志..
我错过了什么吗?
如果您使用的是 Android Studio,请使用
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.32'
如果要下载最新的 JAR 文件,请转到
http://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber
嗨,请使用此功能传递电话号码和国家代码,如印度 91
public static String parseContact(String contact, String countrycode) {
PhoneNumber phoneNumber = null;
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
String finalNumber = null;
String isoCode = phoneNumberUtil.getRegionCodeForCountryCode(Integer.parseInt(countrycode));
boolean isValid = false;
PhoneNumberType isMobile = null;
try {
phoneNumber = phoneNumberUtil.parse(contact, isoCode);
isValid = phoneNumberUtil.isValidNumber(phoneNumber);
isMobile = phoneNumberUtil.getNumberType(phoneNumber);
} catch (NumberParseException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
if (isValid
&& (PhoneNumberType.MOBILE == isMobile || PhoneNumberType.FIXED_LINE_OR_MOBILE == isMobile)) {
finalNumber = phoneNumberUtil.format(phoneNumber,
PhoneNumberFormat.E164).substring(1);
}
return finalNumber;
}
请尝试使用下载页面中的 libphonenumber-2.5.1.jar:
http://code.google.com/p/libphonenumber/downloads/list
Right-Number 项目中的 jar 可以正常工作,因为它们使用的是 libphonenumber-2.4.jar。CANON_EQ 标志是在 v2.5 中引入的,但现在已从 2.5.1 中删除以与 Android 兼容,直到它支持该标志为止。
编译'com.googlecode.libphonenumber:libphonenumber:7.1.1'
在你的 gradle 中使用这个依赖。
在以下位置提交问题:
http://code.google.com/p/libphonenumber/issues/list
我在最新版本中遇到了类似的问题,他们很快就回答了我的问题。这绝对只是一个已经浮出水面的错误,如果你想修复它,你应该报告它。他们花了 10 分钟来确认我的问题,15 分钟后他们说他们已经准备好了补丁。
Right-Number 的 jar 只是一个较旧的版本。
新版本的 libphonenumber http://code.google.com/p/libphonenumber/ 是为 Java 1.5 编译的,现在可以在较旧的 android 系统上运行。
以前的版本是为 Java 1.6 编译的,但您可以使用提供的源代码为任何版本重新编译。
我自己也遇到过完全相同的问题,并且能够通过使用以下版本来解决它:
http://code.google.com/p/right-number/source/browse/trunk/RightNumber/libs/libphonenumber.jar
此版本来自Right-Number 项目,该项目旨在构建一个用于处理 Android 上的电话号码格式的用户界面。
我在我的项目中使用过它,它工作正常。
在安卓上:
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.31'