sintaxis:
<service android:description="string resource"
         android:directBootAware=["true" | "false"]
         android:enabled=["true" | "false"]
         android:exported=["true" | "false"]
         android:foregroundServiceType=["camera" | "connectedDevice" |
                                        "dataSync" | "location" | "mediaPlayback" |
                                        "mediaProjection" | "microphone" | "phoneCall"]
         android:icon="drawable resource"
         android:isolatedProcess=["true" | "false"]
         android:label="string resource"
         android:name="string"
         android:permission="string"
         android:process="string" >
    . . .
</service>
se incluye en:
<application>
puede contener:
<intent-filter>
<meta-data>
descripción:
Declara un servicio (una subclase Service) como uno de los componentes de la aplicación. A diferencia de las actividades, los servicios no cuentan con una interfaz de usuario visual. Permiten implementar operaciones de ejecución prolongada en segundo plano o una API de comunicaciones enriquecida a la que pueden llamar las otras aplicaciones.

Todos los servicios deben estar representados por elementos <service> en el archivo de manifiesto. El sistema no verá los servicios que no estén declarados en el archivo, los cuales nunca se ejecutarán.

Nota: En Android 8.0 (nivel de API 26) y versiones posteriores, el sistema establece limitaciones en lo que puede hacer tu app mientras se ejecuta en segundo plano. Para obtener más información, consulta las guías en las que se analizan los límites de ejecución en segundo plano y los límites de ubicación en segundo plano.

atributos:
android:description
Es una string que describe el servicio a los usuarios. La etiqueta debe establecerse como una referencia a un recurso de string de manera que pueda localizarse como otras strings en la interfaz de usuario.
android:directBootAware

Si el servicio reconoce el arranque directo o no, es decir, si puede ejecutarse o no antes de que el usuario desbloquee el dispositivo.

Nota: Durante el inicio directo, un proveedor de contenido de tu aplicación solo puede acceder a los datos que se almacenan en el almacenamiento protegido del dispositivo.

El valor predeterminado es "false".

android:enabled
Indica si eI sistema puede crear instancias del proveedor de contenido o no: "true" si es posible y "false" si no. El valor predeterminado es "true".

El elemento <application> tiene su propio atributo enabled, que sirve para todos los componentes de la aplicación, incluidos los servicios. Para habilitar el proveedor de contenido, los atributos <application> y <service> deben ser "true" (ya que ambos son valores predeterminados). Si cualquiera de los dos es "false", se inhabilita el proveedor y no es posible crear instancias de este.

android:exported
Indica si los componentes de otras aplicaciones pueden invocar o no el servicio o interactuar con él: "true" si pueden y "false" si no. Cuando el valor es "false", solo los componentes de la misma aplicación o las aplicaciones con el mismo ID de usuario pueden iniciar el servicio o vincularse con él.

El valor predeterminado variará de acuerdo con los filtros de intents que tenga el servicio. La ausencia de filtros significa que solo se puede invocar el servicio si se especifica el nombre exacto de la clase. Esto quiere decir que el servicio solo está destinado al uso interno de la aplicación (dado que otras entidades no conocerían el nombre de la clase). Por lo tanto, en este caso, el valor predeterminado es "false". Por otro lado, la presencia de al menos un filtro implica que el servicio está destinado para uso externo, por lo que la configuración el valor es "true".

Este atributo no es la única forma de limitar la exposición de un servicio ante otras aplicaciones. También es posible usar un permiso para limitar las entidades externas que pueden invocar al servicio (consulta el atributo permission).

android:foregroundServiceType

Especifica que se trata de un servicio en primer plano que satisface un caso de uso en particular. Por ejemplo, si el servicio en primer plano es del tipo "location", significa que una app está obteniendo la ubicación actual del dispositivo, generalmente para continuar una acción iniciada por el usuario relativa a la ubicación del dispositivo.

Puedes asignar varios tipos de servicio en primer plano a un servicio en particular.

android:icon
Un ícono que representa el servicio. Este atributo se debe establecer como referencia a un recurso de elemento de diseño que contiene la definición de la imagen. Si no está configurado, en su lugar se usa el ícono especificado para toda la aplicación (consulta el atributo icon del elemento <application>).

El ícono del servicio (el que se establece aquí o mediante el elemento <application>) también es el ícono predeterminado de todos los filtros de intents del servicio (consulta el atributo icon del elemento <intent-filter>).

android:isolatedProcess
Si se establece en verdadero, el servicio se ejecutará en un proceso especial que está aislado del resto del sistema y no cuenta con permisos propios. La única comunicación con este se establece mediante la API de servicio (inicio y enlace).
android:label
Un nombre para el servicio que se puede mostrar a los usuarios. Si no se establece este atributo, en su lugar se usa la etiqueta configurada para toda la aplicación (consulta el atributo label del elemento <application>).

La etiqueta del servicio (la que se establece aquí o mediante el elemento <application>) también es la etiqueta predeterminada de todos los filtros de intents del servicio (consulta el atributo label del elemento <intent-filter>).

La etiqueta debe establecerse como una referencia a un recurso de string de manera que pueda localizarse como otras strings en la interfaz de usuario. Sin embargo, para tu conveniencia durante el desarrollo de la aplicación, también se puede establecer como string sin procesar.

android:name
El nombre de la subclase Service que implementa el servicio. Debería ser un nombre de clase completo (como "com.example.project.RoomService"). Sin embargo, para abreviar, si el primer carácter del nombre es un punto (por ejemplo, ".RoomService"), se agrega al nombre del paquete especificado en el elemento <manifest>.

Una vez que publiques tu aplicación, no deberías cambiar este nombre (a menos que hayas configurado android:exported="false").

No hay ningún valor predeterminado. Se debe especificar el nombre.

android:permission
El nombre de un permiso que debe incluirse en una entidad para lanzar el servicio o vincularse con él. Si quien llama a startService(), bindService() o stopService() no tiene concedido este permiso, el método no funcionará y no se proporcionará el objeto intent al servicio.

Si no se establece este atributo, se aplicará al servicio el permiso establecido por el atributo <application> del elemento permission. Si no se establece ninguno de los atributos, el servicio no contará con la protección de un permiso.

Para obtener más información sobre permisos, consulta la sección Permisos en la introducción y el documento Seguridad y permisos.

android:process
El nombre del proceso donde se va a ejecutar el servicio. Por lo general, todos los componentes de una aplicación se ejecutan en un proceso predeterminado que se crea para la aplicación. Tiene el mismo nombre que el paquete de la aplicación. El atributo process del elemento <application> puede establecer un valor predeterminado diferente para todos los componentes. Sin embargo, el componente puede anular el valor predeterminado con su propio atributo process, lo cual permite extender la aplicación entre varios procesos.

Si el nombre asignado a este atributo comienza con dos puntos (":"), se crea un nuevo proceso privado de la aplicación cuando hace falta y se ejecuta el servicio en ese proceso. Si el nombre del proceso comienza con un carácter en minúscula, la actividad se ejecutará en un proceso global con ese nombre siempre que tenga permiso para hacerlo. De esta manera, los componentes de diferentes aplicaciones pueden compartir un mismo proceso, lo que reduce el uso de recursos.

consulta también:
<application>
<activity>
primera inclusión:
Nivel de API 1