Uso un MediaPlayer per riprodurre un MP3. Attualmente ho disabilitato le modifiche all'orientamento dello schermo utilizzandoAndroid: mantenere MediaPlayer in esecuzione durante l'aggiornamento dell'orientamento della schermata Attività
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"
nel file manifest. Voglio ora supportare la modalità orizzontale, ovvero rimuovere quei tag, ma ho il problema che durante il ciclo di distruzione/creazione il giocatore viene fermato e quindi riavviato. Questo è ok e in realtà lo faccio anche manualmente in onPause()
per fermare il giocatore quando l'attività va in background.
Per mantenerlo in esecuzione durante le modifiche di orientamento ora, ho provato a renderlo statico (e utilizzando il contesto dell'applicazione per crearlo una volta). Ovviamente, quando rimuovo lo player.stop()
in onPause()
ora, fa quello che voglio - beh, fino al l'attività va in background.
Così, due domande:
- Come posso stabilire se l'attività verrà ricreata direttamente dopo la chiamata a
onStop()
- Ovvero: Come posso mantenere il
MediaPlayer
in esecuzione durante quel ciclo, ma fermarlo quando l'app passa in secondo piano?
non venga chiamato a causa del 'Android rimosso: configChanges' nel manifesto. – sunside
Se si desidera distinguere tra quando si cambiano le configurazioni e quando si interrompe effettivamente, non conosco altro modo di farlo se non utilizzando onConfigurationChanged(). Il che credo significhi che devi mantenere il 'android: configChanges =" orientation "' nel tuo manifest: \ –
Questo è quello che temevo ... – sunside