Sto usando Master/Detail layout in un tablet, sul lato sinistro pochi pulsanti per aprire diversi frammenti, uno dei frammenti contiene il player di YouTube.close fullscreen di Youtube Player sul pulsante back all'interno del frammento
Il problema,
Quando il player di YouTube è a schermo intero, e premo il tasto indietro, il attivitàonBackPressed
si chiama, e l'intera attività è chiuso.
quello che ho provato,
1- Aggiunto il KeyListener per frammento genitore (che contiene il Youtube frammento) e gestire quando click sul pulsante indietro, ma questo ascoltatore è chiamato solo se il giocatore non è a schermo intero , altrimenti non si chiama,
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- Aggiunto onKeyListener a youtubeFragment View per controllare se è a schermo intero quindi chiudere la modalità a tutto schermo
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;
}
});
E anche questo non viene chiamato in tutti i casi.
Ho bisogno di gestire il pulsante back dell'hardware mentre il player di youtube è a schermo intero, la modalità a schermo intero è chiusa e l'applicazione è nel suo stato precedente.
Grazie.
Edit 1: - voglio gestire questa all'interno del frammento, invece di gestirlo nel genitore Attività, ho già la movimentazione all'interno della attività di genitore, ma non mi piace questa soluzione.
Hai trovato una soluzione per questo diverso da quello che hai descritto qui o l'aggiunta di codice youtube-specifico nel Activity onBackPressed? – ashishduh
No, non sono riuscito a trovare un'altra soluzione –