Context.StartService(Intent) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Solicite que se inicie un servicio de aplicación determinado.
[Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")]
public abstract Android.Content.ComponentName? StartService (Android.Content.Intent? service);
[<Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")>]
abstract member StartService : Android.Content.Intent -> Android.Content.ComponentName
Parámetros
- service
- Intent
Identifica el servicio que se va a iniciar. La intención debe ser totalmente explícita (proporcionando un nombre de componente). Los valores adicionales se pueden incluir en los extras de intención para proporcionar argumentos junto con esta llamada de inicio específica.
Devoluciones
Si el servicio se está iniciando o ya se está ejecutando, se devuelve el ComponentName
del servicio real que se inició; de lo contrario, si el servicio no existe null se devuelve.
- Atributos
Excepciones
Comentarios
Solicite que se inicie un servicio de aplicación determinado. La intención debe contener el nombre de clase completo de una implementación de servicio específica que se va a iniciar o un nombre de paquete específico al destino. Si se especifica la intención, registra una advertencia sobre esto. En este caso, se puede usar cualquiera de los varios servicios coincidentes. Si este servicio aún no se está ejecutando, se creará una instancia e iniciará (creando un proceso para él si es necesario); si se está ejecutando, sigue ejecutándose.
Cada llamada a este método dará lugar a una llamada correspondiente al método del servicio de android.app.Service#onStartCommand
destino, con la <intención< var>/var> especificada aquí. Esto proporciona una manera cómoda de enviar trabajos a un servicio sin tener que enlazar y llamar a en su interfaz.
El uso de startService() invalida la duración predeterminada del servicio administrada por #bindService
: requiere que el servicio permanezca en ejecución hasta #stopService
que se llame a , independientemente de si los clientes están conectados a él. Tenga en cuenta que las llamadas a startService() no anidan: independientemente de cuántas veces llame a startService(), se detendrá una sola llamada a #stopService
.
El sistema intenta seguir ejecutando servicios en la medida de lo posible. La única vez que se deben detener es si la aplicación en primer plano actual usa tantos recursos que el servicio debe eliminar. Si se produce algún error en el proceso del servicio, se reiniciará automáticamente.
Esta función iniciará SecurityException
si no tiene permiso para iniciar el servicio especificado.
<div class="caution">
<nota fuerte>:</strong> Cada llamada a startService() da como resultado un trabajo significativo realizado por el sistema para administrar el ciclo de vida del servicio alrededor del procesamiento de la intención, lo que puede tardar varios milisegundos de tiempo de CPU. Debido a este costo, startService() no se debe usar para la entrega de intenciones frecuentes a un servicio y solo para programar un trabajo significativo. Se usa #bindService bound services
para llamadas de alta frecuencia.
A partir de la versión android.os.Build.VERSION_CODES#O
del SDK, las aplicaciones destinadas a la versión android.os.Build.VERSION_CODES#O
del SDK o superior no pueden iniciar servicios en segundo plano desde segundo plano. Vea
Límites de ejecución en segundo plano para obtener más detalles.
<nota fuerte>:</strong> A partir de la versión android.os.Build.VERSION_CODES#S
del SDK, las aplicaciones destinadas a la versión android.os.Build.VERSION_CODES#S
del SDK o superior no pueden iniciar servicios en primer plano desde segundo plano. Vea
Cambios de comportamiento: aplicaciones destinadas a Android 12
para obtener más detalles. </Div>
Documentación de Java para android.content.Context.startService(android.content.Intent)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.
Se aplica a
Consulte también
- StopService(Intent)
- <xref:Android.Content.Context.BindService(Android.Content.Intent%2c+Android.Content.IServiceConnection%2c+Android.Content.IServiceConnection)>