마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

핸드폰번호 받아오기 질문입니다.

0 추천

 
ublic static RequestAppServer member_add(String id, String gcmid){
 
RequestAppServer req = new RequestAppServer();
 
TelephonyManager telephony =  (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  
String  telPhoneNo = telephony.getLine1Number();   
 
req.mType = RequestType.gcmadd;
//
req.url = BASE_URL + "gcmadd.php?url=haba";
 
req.setString("id", id);
req.setString("gcmid", gcmid);
req.setString("phone", telPhoneNo);
 
return req;
}
 
private static TelephonyManager getSystemService(String telephonyService) {
// TODO Auto-generated method stub
return null;
}
 
소스는 위와같습니다.
 
상태는 로그켓에 찍히지도 않고 어플이 중지되어버립니다.
로그가없으니 원인파악이 안되는상황이라 갑갑하네요.
도와주세요 
SMT (150 포인트) 님이 2014년 8월 18일 질문
요것만 로그에 안나오나요, 원래 로그가 안나오나요?
이거만 안나오네요 ㅠㅠ

4개의 답변

0 추천
 
채택된 답변
getSystemService가 항상 null을 리턴하고 있습니다.

getSystemService메소드 지워보세요.
q1212 (26,020 포인트) 님이 2014년 8월 19일 답변
SMT님이 2014년 8월 19일 채택됨
+1 추천

getSystemService가 저렇게 되어있나요? 그럼 telephony가 null일텐데요

member_add를 static메서드로 만들었으니 부를때 context를 넘겨서

TelephonyManager telephony =  (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 

이런식으로 쓰세요

alkyne (22,960 포인트) 님이 2014년 8월 19일 답변
activity에서 해봤어도 null이 나오더라구요. 아마 null 때문에 다른 곳에서 문제가 생기지 않았나 싶어요
0 추천
Rea phone state 퍼미션을 메니페스트에 추가해 주세요.
원조안드로이드 (58,190 포인트) 님이 2014년 8월 19일 답변
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

추가되어있는상태입니다.
0 추천
어쩌면 어플이 죽는게 다른 문제일 수도 있을 것 같아요.

저 telPhoneNo는 번호가 나오거나 null이 나오거나 할텐데, 그걸 받아서 처리하는 다른 클래스에서 문제가 생긴게 아닐까요?

로그캣의 all messages에 로그가 나오고 있지 않을까요?
쎄미 (162,410 포인트) 님이 2014년 8월 19일 답변
...