스트리밍으로 음악을 재생할 수 있는 앱을 만들고 있는대요
기본은 탭으로 구현 했구요
탭에서 버튼을 클릭했을때 커스텀으로 LayoutInflater를 이용해서 AlertDialog를 만들어서
화면위에 뜨게 했구요
다이얼로그에서 버튼을 클릭하면 음악이 나오게 만들었습니다
여기서 질문좀 드립니다.
다이얼로그가 떠 있는 상태에서 back키 를 누르게 되면
다이얼로그가 없어지는건 당연한거죠 여기서 음악도 같이 종료 될 수 있도록 하고 싶습니다.
onkeypress 랑 onkeydown 을 해봤는데 back키를 누르게 되면 다이얼로그만 사라지고
음악은 계속 재생이 됩니다.
public boolean onKeyDown(int keyCode, KeyEvent event) {
// if (keyCode == KeyEvent.KEYCODE_BACK) {
//if(audioStreamer != null){
// audioStreamer.getMediaPlayer().pause();
// ibt_play.setImageResource(R.drawable.ic_launcher);
// audioStreamer = null;
//}
// event.startTracking();
// return true;
// }
// return super.onKeyDown(keyCode, event);
// }
이런식으로 구현을 해봤는데 다이얼로그가 떠있는 상태에서는 back키를 누르면 다이얼로그만 사라집니다.
다이얼로그가 사라지고 back키를 누르게 되면 그때는 음악이 종료가 됩니다.
다이얼로그 설정한 부분에서 back키 가 눌러지게 되면 음악을 멈추고 싶은데 어떻게
조건을 줘야 될지를 모르겠습니다.
다이얼로그가 활성화 되면 이벤트처리가 다이얼로그로 넘어갑니다. 액티비티의 메소드에서는 처리가 안되구요. 다이얼로그 자체의 onBackPressed() 또는 onKeyDown()을 활용해 보세요.