안드로이드 개발 질문/답변
(글 수 45,052)
BroadcastReceiver를 써서 전화가 오는 이벤트를 받아서 그안에서 전화 번호를 가져 오고 있는데요
수신번호를 잘가지고 오다가도 어쩔때는 수신번호에 null이 들어 옵니다.
로그를 찍어보면 BroadcastReceiver를 타고 상태정보가 링까지는 오는데 전화 번호를 null 가져 옵니다. 왜 이럴까요?
상태가 링까지 왔다는 거는 BroadcastReceiver를 정상적으로 들어 왔다는건데. 번호만 찍으면 널입니다.
BroadcastReceiver를 등록 해 줬으니까 전화수신이 오면 실행되서 전화번호를 가져와야 하는게 아닌건가요?
public class BRCallState extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); Bundle bundle = intent.getExtras(); String inNm = null; if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { inNm = bundle.getString(Intent.EXTRA_PHONE_NUMBER); } else if(state.equals(TelephonyManager.EXTRA_STATE_IDLE)) { //통화 종료 후 구현 ... } else if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { //통화 벨 울릴 시 구현 ... inNm = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); } else if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) { //통화 중 상태일 때 구현 ... } }
죄송하지만 저도 앱개발을 앞두고 있는데요
전화 관련된 클래스나 기능을 보려고하면 어떤 것을 참고해야하나요??;;
앱 개발이 처음입니다..ㅎ;