Cómo desvincular correctamente los servicios
Tengo un servicio que está enlazado con BIND_AUTO_CREATE a mi actividad y se inicia con START_STICKY. No llamo explícitamente startService ().
Puesto que el método onDestroy () no siempre se llama cuando mi actividad se mata y el método onStop () no es viable ya que no quiero que mi servicio se detenga cuando el usuario simplemente presiona el botón Inicio, no sé cuándo Desvincular mi servicio.
- ¿Cómo mostrar Toast de un Servicio después de que la actividad principal termine?
- ¿Cómo liberar el recurso de micrófono cuando otra aplicación de Android lo necesita?
- Envíe la solicitud a la parte posterior y traiga a frente
- Android: ¿Es mejor iniciar y detener un servicio cada vez que sea necesario o dejar que un servicio funcione y se vincule y se desvincule de él?
- Cualquier forma de detectar pulsaciones de teclas de volumen o cambios de volumen con el servicio de Android?
Estas son mis preguntas:
-
Si quiero que mi Servicio se ejecute cuando mi Actividad está viva y para dejar de matar a mi Actividad, ¿dónde debo desvincular mi Servicio?
-
Cuando el método onDestroy () se llama actualmente y llamo unbindService (), el método onUnbind () del servicio no se activa. ¿Por qué?
- Escuchar el botón de volumen cuando el teléfono está bloqueado android
- ¿Cómo comprobar si los servicios de ubicación están habilitados?
- ¿Hay alguna forma de punto de ruptura dentro de las clases probadas?
- Android: `java.lang.IllegalArgumentException: Servicio no registrado` cuando se llama onStop ()
- Detener el servicio en android
- ¿Cómo detener el servicio de otra actividad en Android?
- Problema al ejecutar un script desde init.rc en el arranque del dispositivo
- ¿Es posible tener varias cerraduras de la estela?
No llamo explícitamente startService ()
En ese caso, no tiene sentido anular onStartCommand
(y devolver START_STICKY
) ya que no se llamará.
1.Si quiero que mi Servicio se ejecute cuando mi Actividad está viva y para detenerme cuando mi Actividad sea asesinada, ¿dónde debo desvincular mi Servicio?
Si no quieres hacerlo en onPause
, puedes desvincularte en onDestroy
, eso está bien. En una rara situación en la que su actividad se asesina sin onDestroy
será desatada por Android, (por lo que su servicio será desatado y destruido correctamente también), como se indica aquí :
Cuando su cliente es destruido, se desvinculará del servicio
Como para
2. Cuando el método onDestroy () se llama actualmente y llamo unbindService (), el método onUnbind () del servicio no se activa. ¿Por qué?
Sugiero que usted tiene a alguien vinculado a ella, de lo contrario onUnbind
debe ser llamado. Trate de poner un punto de interrupción en este método y verificar que se golpea. Además, compruebe que su servicio onDestroy
se llama en esta situación.
- Cómo deslizar una vista dentro y fuera de android
- Android OpenGL ES 2.0: El modelo de cubo no sólo está distorsionado (la perspectiva es incorrecta?), Sino también las caras se cargan incorrectamente (los vértices no son correctos?)