Estoy realizando una aplicación a través de Android Studio en la cual he implementado que pueda sonar música de fondo a través de un servicio. A lo largo de toda la aplicación he implementado que mediante una opción del ActionBar o a través del menú principal puedas activar o desactivar esta música. Pero cuando le doy al botón de inicio y el teléfono sale de la aplicación (aun que esta se sigue ejecutando en segundo plano) la música continua sonando... Estoy intentando ver como puedo parar el servicio si el usuario pulsa el botón de Home.. pero por más que he probado los siguientes métodos, no consigo que funcione como me gustaría. ¿Como podría hacer la implementación para que si el usuario pulsa el botón de inicio del telefono y vuelve al menú principal la música deje de sonar?
Los métodos que he probado son estos;
Con este código, consigo que al pulsar el botón de home la música se pare.. pero tambien se para en el momento que toco cualquier botón de la aplicación, aunque no sea el de Home. ¿Habría alguna forma de programarlo de tal forma que solo actuase con el botón de HOME?
Código
protected void onUserLeaveHint() { super.onUserLeaveHint(); Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show(); Log.i("Home button Pressed!", "Yes"); stopService(new Intent(MenuPrincipal.this,ServicioMusica.class)); }
Con este código he conseguido cumplir con cerrar el servicio al pulsar el botón de BACK, pero al pulsar el botón HOME el programa no hace nada.
Código
Log.d("Test", "Back button pressed!"); stopService(new Intent(MenuPrincipal.this,ServicioMusica.class)); } return super.onKeyDown(keyCode, event); }
Mil gracias por vuestra ayuda, saludos!!