Context.StartService(Intent) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Solicite que um determinado serviço de aplicativo seja iniciado.
[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 o serviço a ser iniciado. A Intenção deve ser totalmente explícita (fornecendo um nome de componente). Valores adicionais podem ser incluídos nos extras de Intenção para fornecer argumentos junto com essa chamada inicial específica.
Retornos
Se o serviço estiver sendo iniciado ou já estiver em execução, o ComponentName serviço real iniciado será retornado; caso contrário, se o serviço não existir nulo será retornado.
- Atributos
Exceções
Comentários
Solicite que um determinado serviço de aplicativo seja iniciado. A Intenção deve conter o nome de classe completo de uma implementação de serviço específica a ser iniciada ou um nome de pacote específico a ser direcionado. Se a Intenção for menos especificada, ela registrará um aviso sobre isso. Nesse caso, qualquer um dos vários serviços correspondentes pode ser usado. Se esse serviço ainda não estiver em execução, ele será instanciado e iniciado (criando um processo para ele, se necessário); se estiver em execução, ele permanecerá em execução.
Cada chamada para esse método resultará em uma chamada correspondente ao método do serviço de android.app.Service#onStartCommand destino, com a <intenção< var>/var> fornecida aqui. Isso fornece uma maneira conveniente de enviar trabalhos para um serviço sem precisar associar e chamar sua interface.
O uso de startService() substitui o tempo de vida do serviço padrão gerenciado por #bindService: ele requer que o serviço permaneça em execução até #stopService ser chamado, independentemente de algum cliente estar conectado a ele. Observe que as chamadas para startService() não aninham: independentemente de quantas vezes você chamar startService(), uma única chamada para #stopService interrompê-la.
O sistema tenta continuar executando serviços o máximo possível. A única vez que eles devem ser interrompidos é se o aplicativo em primeiro plano atual estiver usando tantos recursos que o serviço precisa ser eliminado. Se ocorrerem erros no processo do serviço, ele será reiniciado automaticamente.
Essa função será gerada SecurityException se você não tiver permissão para iniciar o serviço especificado.
<classe div="cuidado">
<Observação forte>:</forte> Cada chamada para startService() resulta em um trabalho significativo feito pelo sistema para gerenciar o ciclo de vida do serviço em torno do processamento da intenção, o que pode levar vários milissegundos de tempo de CPU. Devido a esse custo, startService() não deve ser usado para entrega de intenção frequente para um serviço e apenas para agendar um trabalho significativo. Use #bindService bound services para chamadas de alta frequência.
A partir da versão android.os.Build.VERSION_CODES#Odo SDK, os aplicativos direcionados à versão android.os.Build.VERSION_CODES#O do SDK ou superior não têm permissão para iniciar serviços em segundo plano em segundo plano. Veja
Limites de execução em segundo plano para obter mais detalhes.
<Observação forte>:/forte> Começando com a versão android.os.Build.VERSION_CODES#Sdo SDK, os aplicativos direcionados à versão android.os.Build.VERSION_CODES#S do SDK ou superior não têm permissão para iniciar serviços em primeiro plano< em segundo plano. Veja
Alterações de comportamento: aplicativos direcionados ao Android 12
para obter mais detalhes. </div>
Java documentação para android.content.Context.startService(android.content.Intent).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
Confira também
- StopService(Intent)
- <xref:Android.Content.Context.BindService(Android.Content.Intent%2c+Android.Content.IServiceConnection%2c+Android.Content.IServiceConnection)>