0

음악 차트 (예 : ChartActivity)를 표시하는 안드로이드 탭 응용 프로그램이 있습니다. 각 응용 프로그램은 EntryActivity와 같은 음악 튜닝 목록을 표시합니다. 음악 곡의 각 항목을 탭하면 YouTube 앱 (예 : 기본 동작)이 실행됩니다. 즉, EntryActivity의 list.setOnItemClickListener에, 내가 전화를 걸된다. (예, 사용 ActivityGroup 및 TabActivity)Android : Intent.ACTION_VIEW의 onKeyUp 및 onKeyDown 재정의

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(selectedSongUrl)); 
TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 
parentActivity.startChildActivity("YouTube", intent); 

문제는 그 때 탭 YouTube 화면에서 뒤로 버튼, 활성 뷰는 EntryActivity로 돌아 가지 않고 ChartActivity로 돌아갑니다.

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     //preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

// Overrides the default implementation for KeyEvent.KEYCODE_BACK 
// so that all systems call onBackPressed(). 
@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 
     parentActivity.onBackPressed(); 
     return true; 
    } 
    return super.onKeyUp(keyCode, event); 
} 

이 EntryActivity는 의도에서 보낸 콜백 이벤트를 알릴 수있는 방법이 있나요 : 나는 더 부모 활동과 이벤트를 통과 할 수 있도록 내가 onKeyUp에 무시하고 onKeyDown에 유튜브에서 화면 수 없었기 때문에 내 생각이이다. ACTION_VIEW?

답변

0

앱 설정에 대해 다소 혼란 스럽습니다 ...이 탭은 기존 탭 활동으로 각 탭마다 자체 활동 (예 : ChartActivity 및 EntryActivity는 탭)이 표시됩니까? 그렇다면

, 당신은 당신의 TabGroupActivity에서 다음을 수행 할 수 :

  1. 재정의 onPause() 된 SharedPreferences에서 현재 활성 탭의 인덱스를 저장합니다.
  2. 해당 환경 설정 (있는 경우)에서 읽으려면 마지막으로 있던 탭으로 전환하십시오.
  3. onDestroy()를 재정의하고 해당 환경 설정을 제거하면 다음에 시작하는 활동을 시작할 때 올바른 탭.

귀하의 활동이 설정되지 않은 경우, 사물 설정 방법에 대해 조금 더 설명하십시오.