Un servicio es un componente de aplicación que puede realizar operaciones de larga duración en segundo plano y no proporciona una interfaz de usuario. Otro componente de la aplicación puede iniciar un servicio y continuará ejecutándose en segundo plano incluso si el usuario cambia a otra aplicación. Además, un componente puede unirse a un servicio para interactuar con él e incluso realizar una comunicación entre procesos (IPC). Por ejemplo, un servicio puede manejar transacciones de red, reproducir música, realizar E / S de archivos o interactuar con un proveedor de contenido, todo desde el fondo.
Un servicio puede tomar esencialmente dos formas:
Empezado
- ¿Es Kotlin el idioma oficial de Android?
- ¿Es posible desarrollar una aplicación de Android sin software o aplicaciones de terceros?
- ¿Es una buena práctica hacer una aplicación de Android usando AngularJs? ¿Cuáles son las ventajas y desventajas?
- ¿Cómo puede un pequeño desarrollador de Android promocionar su aplicación?
- Cómo depurar una aplicación de Android que genera errores de tiempo de ejecución después de ofuscarse con ProGuard
Un servicio se “inicia” cuando un componente de la aplicación (como una actividad) lo inicia llamando a startService (). Una vez iniciado, un servicio puede ejecutarse en segundo plano indefinidamente, incluso si el componente que lo inició se destruye. Por lo general, un servicio iniciado realiza una sola operación y no devuelve un resultado a la persona que llama. Por ejemplo, puede descargar o cargar un archivo a través de la red. Cuando se realiza la operación, el servicio debe detenerse.
Unido
Un servicio está “vinculado” cuando un componente de la aplicación se une a él llamando a bindService (). Un servicio vinculado ofrece una interfaz cliente-servidor que permite a los componentes interactuar con el servicio, enviar solicitudes, obtener resultados e incluso hacerlo a través de procesos con comunicación entre procesos (IPC). Un servicio vinculado solo se ejecuta mientras otro componente de la aplicación esté vinculado a él. Varios componentes pueden unirse al servicio a la vez, pero cuando todos se desvinculan, el servicio se destruye.