2013. 12. 27. 14:43

TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

String num = tm.getLine1Number();


위와 같이 하면 전화번호를 반환한다.


그런데 반환하는 값은 통신사별로 차이가 있다.

LG나SK는 01012345678 과 같이 반환하는 반면에

KT의 경우는 +821012345678 과 같이 국가번호까지 반환한다.


전화번호를 구해서 숫자로 변환하여 처리하는 과정에서

KT폰만 다운되기에 Log를 확인했더니 '+' 문자때문에

변환과정에서 Exception이 발생하였다.


또한 USIM카드의 영향을 받는다는 글을 봤었는데

이에 대한것은 아직 자세히는 모르겠으나

실제 WIFI 전용장비나 USIM카드가 없는 장비에서는

전화번호가 NULL이 반환되었다.

Posted by 작은0악마