안드로이드 개발 질문/답변
(글 수 45,052)
public void onCallStateChanged(int state, String incomingNumber) {
switch(state)
{
case TelephonyManager.CALL_STATE_RINGING:
Intent new_intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
new_intent.putExtra(Intent.EXTRA_KEY_EVENT,new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
sendOrderedBroadcast(new_intent, null);
break;
}
switch(state)
{
case TelephonyManager.CALL_STATE_RINGING:
Intent new_intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
new_intent.putExtra(Intent.EXTRA_KEY_EVENT,new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
sendOrderedBroadcast(new_intent, null);
break;
}
이펍에서 검색하나 결과
위의 소스 코드를 보게 되었는데요
사용을 하면 원하는데로 전화 수신시 자동으로 수신이 됩니다.
근데 문제는 어플리케이션을 종료한뒤에
전화 수신시에도 자동 수신이 되버립니다.
전화기를 종료했다가 다시 켜야 원래대로 돌아오는데
원래대로 버튼을 눌러서 전화가 수신이 되게 하려면 어떻게 해야하나요?




Receiver를 unregister하지 않았거나 manifest에 정의하였거나 하여 리시버가 활성화된 상태이기 때문으로 추정됩니다.
확인해보세요.