Servicio de Android

Explique un Service Android. ¿En qué se diferencia de una Activity ? ¿Depende de un estado de aplicación tal como correr en primer plano / fondo ?

De la referencia del SDK del desarrollador de Android para Service :

Un servicio es un componente de aplicación que representa el deseo de una aplicación de realizar una operación de ejecución más larga sin interactuar con el usuario o de proporcionar funcionalidad para que otras aplicaciones utilicen.

Es muy importante tener en cuenta

Que los servicios, al igual que otros objetos de aplicación, se ejecutan en el hilo principal de su proceso de alojamiento. Esto significa que, si su servicio va a hacer cualquier uso intensivo de la CPU (como la reproducción de MP3) o el bloqueo (como la red) las operaciones, debe generar su propio hilo en el que hacer ese trabajo.

Esto está en contraste con una actividad que se entiende mejor como algo que un usuario ve e interactúa directamente con (una interfaz de usuario).

Un servicio, como se mencionó anteriormente, puede utilizarse para operaciones de más larga duración que continuarán aunque no tenga actividad en primer plano, pero pueden, y eventualmente serán destruidas por el ciclo de vida de Android si se deja en el estado de "fondo". Si necesita que su servicio continúe ejecutándose como una sola instancia sin ser eliminado y reiniciado, recomendaría colocar startForeground (int id, Notification notification) en el método onCreate su servicio y stopForeground (boolean removeNotification) en el método onDestroy su servicio.

Por ejemplo, tengo una aplicación que utiliza un foreground Service para registrar los datos del acelerómetro durante toda la noche, mientras que el dispositivo android está al lado del cuerpo del usuario. Aunque no es necesario estar activo, también tengo una Activity que transmite una Intent a un BroadcastReceiver dentro del Service que le dice al Service que también debe difundir una Intent con datos del acelerómetro como extras a un BroadcastReceiver dentro de la Activity .

Código: SleepActivity SleepAccelerometerService

¡Buena suerte y déjeme saber si usted necesita más información!

Un servicio es un contexto similar a la actividad pero no tiene GUI.

Importante: ¡Un servicio no se ejecuta en un subproceso nuevo!

Lea acerca de Servicio y también echa un vistazo ¿Cómo ejecutar siempre un servicio en segundo plano?

El servicio es un componente que no tiene interfaz de usuario y puede ejecutarse durante un período de tiempo más largo que una actividad. Dos usos principales de los Servicios son para tareas de larga duración (por ejemplo, un reproductor de música) y ejecutar tareas de media duración sin atar el hilo de la interfaz de usuario.

  • ¿Cómo puedo eliminar una notificación de primer plano en Android Lollipop?
  • ¿Cómo puedo reiniciar mi servicio de aplicaciones si el usuario lo detiene (mata) desde la configuración?
  • Iniciar el servicio en el inicio y después de que se haya instalado la aplicación
  • ¿Por qué no funciona mi servicio en Android? (Sólo quiero registrar algo nunca 5 segundos)
  • ¿Abre la aplicación de Android enviando un mensaje de texto?
  • ServiceConnection :: onServiceConnected no se llama aunque Context :: bindService devuelve true?
  • Android - ¿Utilizando el método de un servicio en una actividad?
  • ¿Por qué utilizar un servicio Android?
  • OnTaskRemoved () no se llama en dispositivos HUAWEI y XIOMI
  • OnBind () nunca se llama en un servicio
  • Error de Android escribiendo datos de ubicación en la base de datos SQLite de la clase LocationListener
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.