Mp3Player를 제작중에 있는데 문제가 있어 조언을 구하고자 글을 올립니다.

현재 Mp3List 에서 곡 선택 후 >> Mp3Player 가 실행되게 구현하였습니다. 그리고 Mp3Player 에서 Notification 등록을 시켜 주고

동작까지 확인한 상태 입니다. 여기서 부터 문제인게 Home_Key 와 Back_Key 를 눌렀을 떄 Back_Key 동작 떄문에 진행이 안되고 있습니다.

Home_Key : Mp3Player >> Home_Key >> 메인화면 >> 노티바에 등록된 mp3Player 클릭 >> 동작중인 Mp3Player 화면 복귀(정상동작)

Back_Key 를 누르면 문제가 발생하게 되는데요

첫번쨰 -  Back_Key : Mp3Player >> back_Key >> Mp3List >> 노티바에 등록된 mp3Player클릭 >> 동작중인 Mp3Player 화면 복귀시 에러

두번쨰 - Back_Key : Mp3Player >> Mp3List >> Mp3List에서 다시 Back_Key를 누르게 되면 Mp3Player 화면으로 돌아가게 됩니다.
                            이후에는 Back_Key 를 누르면 Mp3List와 Mp3Player Activity만 왔다갔다 하게 됩니다.

Activity Lift 사이클을 보면 Back_Key 로 이벤트가 발생하면 현재 Activity 에서 onDestroy 가 호출이 되서, 이전 Activity 에서 노티바에

등록된 mp3Player 를 클릭하면 onCreate가 호출되면서 mp3Player가 재시작 되면서 기존에 동작되던 mp3Player 가 호출이 되지 않고 

있습니다. 그래서 back_Key 이벤트가 발생할 떄 onKeyDown을 구현하여 back_key 이벤트를 가로채서 작업을 진행 하니

back_key 를 눌렀을 떄 mp3Player >> Mp3List >>mp3Player Activity 무한 반복이 되고 있는 상황입니다.

소리바다나 Music Player 어플을 보면 back_Key 이벤트가 발생해도 노티바에 등록된 플레이어를 누르면 동작중인 mp3Player 로 잘

넘어가는데 무엇이 문제인지 모르겠습니다.

이와 관련된 작업을 해보신분 계시면 조언좀 부탁드리겠습니다.

다음은 노티바 등록 소스와 back_key 이벤트 가로챈 후 처리 소스 입니다.
[Notification등록]
 		NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);		Notification notification = new Notification(R.drawable.icon,mCurrentTitle,0);
		Intent i = new Intent(Mp3Player.this,Mp3Player.class);
		i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
		PendingIntent pi = PendingIntent.getActivity(Mp3Player.this, 0, i, 0);
		notification.setLatestEventInfo(Mp3Player.this, mCurrentTitle, mCurrentSinger, pi);
		notificationManager.notify(notification.number, notification);

[back_key 가로챈 후 처리 코드]
 @Override	    public boolean onKeyDown(int keyCode, KeyEvent event) {
	        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
	            event.startTracking();
	            return true;
	        }
	        return super.onKeyDown(keyCode, event);
	    }
	@Override
	    public boolean onKeyUp(int keyCode, KeyEvent event) {
	        if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking() && !event.isCanceled()) {
	            if(isRegister == NOTIFIY_STATUS_REGISTER){
	        	Intent i = new Intent(Mp3Player.this,Mp3List.class);
			i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
			startActivity(i);
	            }
	            else{
			this.finish();
	            }
	            return true;
	        }
	        return super.onKeyUp(keyCode, event);
	    }