안녕하세요... 안드로이드 초보개발자입니다. 붙잡고 있다가 너무 답답한 마음에


도움의 손길을 청합니다....


PhonsStateListener 의 onCallStateChanged 를 쓰고 있는데 


어플을 종료 후 다시 실행해도 여전히 리스너가 살아 있어서 질문 올립니다...


설정 들어가서 어플리케이션 강제 종료를 하면 정상적으로 전화가 올 때마다 로그가 한 번씩 뜨지만


강제 종료를 하지 않고 뒤로 가기 버튼을 이용해서 종료하면 어플을 다시 실행 했을 때


여전히 이전의 리스너가 죽지 않고 살아 있는 상태로 남아 있습니다.


제가 쓴 리스너는 PhoneStateListener 의 onCallStateChanged() 입니다.


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

tm.listen(new PhoneStateListener(){

@Override

public void onCallStateChanged(int state, String incommingNumber){

switch(state) { 

case TelephonyManager.CALL_STATE_RINGING:

Log.d(TAG, " CALL_STATE_RINGING.:" + incommingNumber);

Log.i(TAG," 제발 한 번만 실행돼라.");

break; 

case TelephonyManager.CALL_STATE_IDLE: 

Log.d(TAG,"CALL_STATE_IDLE ");

break; 

case TelephonyManager.CALL_STATE_OFFHOOK: 

Log.d(TAG,"CALL_STATE_OFFHOOK ");

break; 

}

}, PhoneStateListener.LISTEN_CALL_STATE);