ContextWrapper.StartService(Intent) Método

Definición

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 override Android.Content.ComponentName? StartService(Android.Content.Intent? service);
[<Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")>]
override this.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) o especificar un nombre de paquete específico al que está dirigido. Los valores adicionales se pueden incluir en los extras de intención para proporcionar argumentos junto con esta llamada de inicio específica.

Devoluciones

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án instancias e iniciarán (crear 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 Service.onStartCommand(Intent, int, int) del servicio de destino, con la intención dada aquí. Esto proporciona una manera cómoda de enviar trabajos a un servicio sin tener que enlazar y llamar a su interfaz. El uso de startService() invalida la duración predeterminada del servicio administrada por bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : requiere que el servicio siga ejecutándose hasta que se llame a stopService(Intent), independientemente de si algún cliente está conectado a él. Tenga en cuenta que las llamadas a startService() no anidan: independientemente de cuántas veces llame a startService(), una sola llamada a stopService(Intent) la detendrá. El sistema intenta mantener los servicios en ejecución tanto como sea 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. Nota: Cada llamada a startService() da como resultado un trabajo significativo realizado por el sistema para administrar el ciclo de vida del servicio que rodea el procesamiento de la intención, lo que puede tardar varios milisegundos de tiempo de CPU. Debido a este costo, startService() no debe usarse para la entrega de intenciones frecuentes a un servicio y solo para programar un trabajo significativo. Use servicios enlazados para llamadas de alta frecuencia. A partir de la versión del SDK Build.VERSION_CODES. O , aplicaciones destinadas a la versión del SDK Build.VERSION_CODES. No se permite que O o superior inicien servicios en segundo plano desde segundo plano. Consulte Límites de ejecución en segundo plano para obtener más información. Nota: A partir de la versión del SDK Build.VERSION_CODES. S , aplicaciones destinadas a la versión del SDK Build.VERSION_CODES. No se permite que S o superior inicien los servicios en primer plano desde segundo plano. Consulte Cambios de comportamiento: Aplicaciones destinadas a Android 12 para obtener más detalles. Intención del servicio de parámetros: 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. Devuelve ComponentName Este valor puede ser null.

Atributos

Comentarios

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Java documentación para android.content.ContextWrapper.startService(android.content.Intent).

Se aplica a