ライブラリlibphonenumberはAndroidで機能せず、例外は次のようになります:「原因:java.lang.UnsupportedOperationException:CANON_EQフラグはサポートされていません」
ウェブページの説明によると、libは「スマートフォン」用ですが、AndroidはCANON_EQreg_exフラグをサポートしていません。
私は何かが足りないのですか?
ライブラリlibphonenumberはAndroidで機能せず、例外は次のようになります:「原因:java.lang.UnsupportedOperationException:CANON_EQフラグはサポートされていません」
ウェブページの説明によると、libは「スマートフォン」用ですが、AndroidはCANON_EQreg_exフラグをサポートしていません。
私は何かが足りないのですか?
Android Studioを使用している場合は、
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.32'
最新のJARファイルをダウンロードしたい場合goto
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で導入されましたが、フラグがサポートされるまでAndroidと互換性があるように、2.5.1から削除されました。
'com.googlecode.libphonenumber:libphonenumber:7.1.1'をコンパイルします
この依存関係をgradleで使用します。
私自身もまったく同じ質問に苦労し、次のバージョンを使用して解決することができました。
http://code.google.com/p/right-number/source/browse/trunk/RightNumber/libs/libphonenumber.jar
このバージョンは、Androidで電話番号のフォーマットを処理するためのユーザーインターフェイスを構築することを目的としたRight-Numberプロジェクトからのものです。
私は自分のプロジェクトでそれを使用しました、そしてそれはうまく働きます。
次のアドレスで問題を送信してください。
http://code.google.com/p/libphonenumber/issues/list
私は最新のリビジョンで同様の問題を抱えていましたが、彼らは私の問題に非常に迅速に答えました。これは間違いなく表面化したバグであり、修正したい場合は報告する必要があります。彼らに私の問題を認めるのに10分かかり、その15分後に彼らはパッチの準備ができていると言った。
Right-Numberのjarファイルは古いリビジョンです。
新しいバージョンのlibphonenumberhttp : //code.google.com/p/libphonenumber/はJava1.5 用にコンパイルされており、古いAndroidシステムで動作するようになりました。
以前のバージョンはJava1.6用にコンパイルされていましたが、提供されたソースコードを使用して任意のバージョン用に再コンパイルできました。
アンドロイドの場合:
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.31'