У меня есть приложение с вкладками Android, которое отображает музыкальные карты (скажем, ChartActivity), каждый из которых, в свою очередь, отображает список музыкальных мелодий (скажем, EntryActivity). Нажатие на каждую запись музыкальных мелодий запустится, например, приложение YouTube (действия по умолчанию). То есть, в list.setOnItemClickListener из EntryActivity, я делаю звонки: (. Да, я использую ActivityGroup и TabActivity)Android: переопределить onKeyUp и onKeyDown в Intent.ACTION_VIEW
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(selectedSongUrl));
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("YouTube", intent);
Проблема заключается в том, что, когда я вкладка кнопку назад с экрана YouTube, активный вид не возвращается к EntryActivity, а к ChartActivity. Я думаю, это потому, что я не мог переопределить OnKeyUp и OnKeyDown на YouTube экрана, так что я могу далее передать событие в родительской деятельность:
@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 знать событие обратной связи от Намерения. ACTION_VIEW?