Używam układu Układ główny/szczegółowy w tablecie, po lewej stronie kilka przycisków do otwierania kilku fragmentów, jeden z fragmentów zawiera odtwarzacz youtube.zamknij pełny ekran odtwarzacza YouTube na tylnym przycisku wewnątrz fragmentu
Problem
Gdy odtwarzacz YouTube jest pełen ekran, i naciśnij przycisk nazad, aktywnośćonBackPressed
nazywa, a cała działalność jest zamknięta.
Co próbowałem,
1- Dodano KeyListener dla fragmentu nadrzędnego (który zawiera Youtube Fragment) i uchwyt podczas kliknięcia na przycisk Wstecz, ale słuchacz nazywa się tylko wtedy, gdy gracz nie jest na pełnym ekranie , inaczej nie nazywa,
rootView.setFocusableInTouchMode(true);
rootView.requestFocus();
rootView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
try {
// Close full screen
return true;
} catch (Exception e) {
AHHExceptionHandler.handleException(e);
}
}
return false;
}
});
2- Dodany onKeyListener do youtubeFragment View, by sprawdzić, czy jest pełny ekran następnie zamknij trybie pełnoekranowym
youTubeFragment.getView().setFocusableInTouchMode(true);
youTubeFragment.getView().requestFocus();
youTubeFragment.getView().setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
try {
youTubePlayer.setFullscreen(false);
return true;
} catch (Exception e) {
AHHExceptionHandler.handleException(e);
}
}
return false;
}
});
I to również nie jest wywoływane we wszystkich przypadkach.
Muszę obsłużyć tylny przycisk sprzętu, gdy odtwarzacz YouTube jest w trybie pełnoekranowym, tryb pełnoekranowy jest zamknięty, a aplikacja jest w poprzednim stanie.
Dzięki.
Edit 1: - Chcę się tym zająć wewnątrz fragmentu, zamiast obsługiwać go w działalności macierzystej, ja już posługiwaniu się nim wewnątrz aktywności macierzystej, ale nie podoba mi się to rozwiązanie.
Znalazłeś rozwiązanie to inny niż to, co opisano tutaj lub dodanie youtube specyficzny kod w Działaniu onBackPressed? – ashishduh
Nie, nie mogłem znaleźć innego rozwiązania –