안드로이드 개발 질문/답변
(글 수 45,052)
TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telManager.listen(new PhoneStateListener(){
public void onCallStateChanged(int state, String incomingNumber){
if(state == TelephonyManager.CALL_STATE_OFFHOOK)
{Toast.makeText(getApplicationContext(), incomingNumber, 1).show();
}
}
}
, PhoneStateListener.LISTEN_CALL_STATE);
}
라는 형식으로 전화를 받으면 전화건 사람의 번호를 Toast로 던지게 했는데 incomingNumber가 비어있네요..
전화오는 사람의 번호는 incomingNumber로 들어오는 것이 아닌가요?
telManager.listen(new PhoneStateListener(){
public void onCallStateChanged(int state, String incomingNumber){
if(state == TelephonyManager.CALL_STATE_OFFHOOK)
{Toast.makeText(getApplicationContext(), incomingNumber, 1).show();
}
}
}
, PhoneStateListener.LISTEN_CALL_STATE);
}
라는 형식으로 전화를 받으면 전화건 사람의 번호를 Toast로 던지게 했는데 incomingNumber가 비어있네요..
전화오는 사람의 번호는 incomingNumber로 들어오는 것이 아닌가요?
맞습니다. 저는 똑같은 방법으로 했는데 번호가 잘 넘어왔습니다.
public void onCallStateChanged(int state, String incomingNumber) {// 전화 수신 반응.
// 착신 전화 번호를 받는다.
switch (state) {
case TelephonyManager.CALL_STATE_IDLE :// 폰이 울리거나 통화중이 아님.
Toast.makeText("your class name".this,"nothing",Toast.LENGTH_SHORT).show();
break;
case TelephonyManager.CALL_STATE_RINGING : // 폰이 울린다.
Toast.makeText("your class name".this,"ringing : "+incomingNumber,Toast.LENGTH_SHORT).show();
break;
case TelephonyManager.CALL_STATE_OFFHOOK : // 폰이 현재 통화 중.
Toast.makeText("your class name".this,"talking",Toast.LENGTH_SHORT).show();
break;
default: break;
}
}
};