안녕하세요- 안펍여러분.


Q: getLine1Number()로 전화 번호가 읽어지지 않는 경우에 대한 대처법은 무엇이 있을까요?


우선 저는 아래와 같은 형식으로 전화 번호를 읽어오는 코드를 오류없이 써왔는데 (정상작동 : 갤U,갤S,옵티머스,스카이)

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);				myPhoneNumber = tm.getLine1Number();

그런데 오늘...ㅠㅠ...

HTC 디자이어HD의 사용자로부터 전화 번호가 인식되지 않는다는 버그 리포팅을 받게 되어 정확한 문제 소지를 파악치는 못했지만 위 소스에 문제가 있을 것이라는 생각으로 열씸히 구글링을 달리고 안드로이드 펍 게시판을 찾게 되었습니다.


- 혹시 HTC 디자이어HD를 사용하고 계신 분들~~ getLine1Number()이 null값을 반환하는 것인지 exception을 발생시키는지 혹은 정상 작동되는지 답변해주시길 부탁드립니다.

- 혹시 위와 같은 이슈로 고생해보셨다거나 해결책을 갖고 계신 분 정보를 나누어 주시거나 간단한 힌트라도 제공해주시길 부탁드립니다.


아래에 제가 구글링을 통해 찾은 자료를 간략히 정리해놓겠으니 참고하시고 .. 음 소중한 답변, 관심 부탁드리겠습니다.


1. TelephonyManager말고 다른 경로를 통해 얻자 -> Q: 아래의 소스가 향후 패치에서도 유효할까요? 혹은 다종의 기기에서 유효할까요?

TelephonyManager telephonyMgr = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE); 
String userId = telephonyMgr.getLine1Number(); 
if(userId == null || userId.trim().equals("")){ 
        userId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);}

http://groups.google.com/group/android-developers/browse_thread/thread/ec753b0ff460ffdf?pli=1


2. Cursor를 통해 Owner의 Info를 읽어오는 방법? -> 링크된 주소의 소스는 deprecated

http://stackoverflow.com/questions/3272372/android-getting-phone-owner-info


3. 같은 제목의 블로그 게시물입니다. 통신사별 USIM의 데이터 처리 방식이 다르다는 설명?

http://blog.naver.com/PostView.nhn?blogId=tinenie&logNo=110106949268&viewDate=&currentPage=1&listtype=0



:-( 

...일단은 USIM칩을 갈아끼우고 혹시 유심등록이 미비된 경우 발생할 수 있다고 설명드렸는데, 이거 참. 

예전에 어느 게시물에서 안드로이드 개발은 처음엔 쉬운 듯 하지만 가면 갈 수록 난관이라고 하시던 한 고수분의 말씀이 눈가에 스치네요..

기기의 파편화...제대로 된 테스트도 할 수 없고 ㅠㅠ 아이폰 학습도 병행하려고 하는데 아이폰 쪽은 어떨런지...