2017-11-23 24 views
0

アプリケーションで電話番号フィールドをあらかじめ入力するには、SIMに保存されている電話番号(使用可能な場合)を使用します。このために、我々はまた、in this popular question/answerを概説一般的な解決策を使用:国のプレフィックスなしの電話機の電話番号を取得する

'+[prefix][phoneNumber]' 

TelephonyManager tMgr = (TelephonyManager) mAppContext.getSystemService(Context.TELEPHONY_SERVICE); 
String mPhoneNumber = tMgr.getLine1Number(); 

問題をこれに、しかし、この文字列はまた、すなわち、このようになります、国際電話のプレフィックスが含まれていますということです

prefixbetween 1 and 3 digitsを変化すると、それは我々は単にそれをトリミングすることができないのです...

- >は、携帯電話を取得する方法はありますSIMからの番号なし国のダイヤルプレフィックス?あなたは、libphonenumber-androidでこのような何か番号を取得することができます

答えて

1

PhoneNumberUtil util = PhoneNumberUtil.createInstance(getApplicationContext()); 

try { 
    // Indonesia phone number 
    final Phonenumber.PhoneNumber phoneNumber = util.parse("+62821234567", "ID"); 

    // now you get the number without country code 
    long nationalNumber = phoneNumber.getNationalNumber(); 
} catch (NumberParseException e) { 
    e.printStackTrace(); 
} 

を私はしかし、コードをテストしていません。

関連する問題