Cómo evitar que el servicio se reinicie después de que la actividad se haya barrido desde el conmutador de tareas?
Tengo esta pregunta acerca de los servicios en Android, y cómo prevenir el reinicio inmediato del servicio si la actividad es barrida en el administrador de tareas (cuando se mantiene el botón de inicio).
Quiero que un servicio sea persistente y tenga su propio proceso y la imagen de la memoria, por lo que cuando mi actividad está cerrada, en este caso barrido de switcher de tareas, el servicio no se reiniciará …
- Android, ¿cómo llevar una tarea al primer plano?
- Manejar la instancia existente de actividad raíz al iniciar de nuevo la actividad raíz desde el filtro de intenciones
- Android: Error de OutOfMemory y el backstack
- App pierde su capacidad de recordar su pila cuando se inicia desde otra aplicación
- Borrar tarea e iniciar una nueva actividad
¿Podría alguien mostrarme algunos tutoriales y sitios que explican cómo resolver este problema?
- ¿El nombre del proceso es el mismo que el nombre del paquete en android?
- ¿Cómo manipulo la pila de actividades de Android?
- Necesita un ejemplo que muestre cómo realizar solicitudes HTTP asíncronas
- ¿Cómo llevar una Actividad al primer plano (o crear si no existe)?
- Android: ¿Cómo hacer que el lanzador abra siempre la actividad principal en lugar de la actividad infantil? (o de otro modo)
- Android empuja una nueva actividad mientras limpia a otros
- ¿Diferencia entre OnlyOnRanToCompletion y NotOnFaulted?
- La aplicación comienza siempre nueva de la actividad de la raíz en lugar de reanudar el estado de fondo (Bug conocido)
Ponga su servicio en un proceso separado de la siguiente manera:
Vaya a su declaración de servicio en el manifiesto android y cámbielo a:
<service android:name=".ServiceName" android:process=":remote" />
Servcices están diseñados para reiniciarse en segundo plano cuando se destruyen (esto es una declaración amplia, hay muchos factores), por lo que para asegurarse de que esto no sucede:
Crea un servicio enlazado que se crea y se destruye con la actividad de llamada:
Este ejemplo se toma de los documentos
public class LocalService extends Service { private final IBinder mBinder = new LocalBinder(); public class LocalBinder extends Binder { LocalService getService() { return LocalService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } } public class LocalService extends Service { private final IBinder mBinder = new LocalBinder(); public class LocalBinder extends Binder { LocalService getService() { return LocalService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } }
O ejecutar el servicio en primer plano , de modo que cuando se quita de primer plano se destruye.
- Cancelar o reembolsar la compra consumida en la aplicación en Android
- Generar Android Javadoc con Ant