elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Programar botón de inicio y back Android para cerrar servicio en segundo plano.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programar botón de inicio y back Android para cerrar servicio en segundo plano.  (Leído 1,662 veces)
rubia28

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Programar botón de inicio y back Android para cerrar servicio en segundo plano.
« en: 18 Noviembre 2021, 12:50 pm »

Buenos días a todos!

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
  1. protected void onUserLeaveHint()
  2.    {
  3.        super.onUserLeaveHint();
  4.        Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();
  5.        Log.i("Home button Pressed!", "Yes");
  6.        stopService(new Intent(MenuPrincipal.this,ServicioMusica.class));
  7.    }

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
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {
  2.        if(keyCode == KeyEvent.KEYCODE_BACK) {
  3.            Log.d("Test", "Back button pressed!");
  4.        } else if(keyCode == KeyEvent.KEYCODE_HOME) {
  5.            stopService(new Intent(MenuPrincipal.this,ServicioMusica.class));
  6.        } return super.onKeyDown(keyCode, event); }
  7.  

Mil gracias por vuestra ayuda, saludos!!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como llamar a un servicio web en segundo plano
Programación Visual Basic
franbo 4 3,676 Último mensaje 20 Enero 2008, 20:47 pm
por MANULOMM
Como poner programa en el inicio y que salga en segundo plano
Windows
NoTaTuS 9 13,504 Último mensaje 15 Septiembre 2012, 19:10 pm
por Eleкtro
[Android]Procesos en segundo plano.
Java
kondrag_X1 0 2,072 Último mensaje 21 Octubre 2015, 12:53 pm
por kondrag_X1
Servicio de transferencia inteligente en segundo plano
Windows
Lekim 0 2,022 Último mensaje 4 Noviembre 2015, 13:28 pm
por Lekim
Problema con 'Servicio de transferencia inteligente en segundo plano'
Windows
okik 4 3,563 Último mensaje 16 Julio 2016, 11:36 am
por okik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines