ContextWrapper.StartService(Intent) Méthode

Définition

Demandez qu’un service d’application donné soit démarré.

[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

Paramètres

service
Intent

Identifie le service à démarrer. L’intention doit être entièrement explicite (en fournissant un nom de composant) ou spécifier un nom de package spécifique auquel il est ciblé. Des valeurs supplémentaires peuvent être incluses dans les extras Intention pour fournir des arguments avec cet appel de début spécifique.

Retours

Demandez qu’un service d’application donné soit démarré. L’intention doit contenir le nom de classe complet d’une implémentation de service spécifique à démarrer, ou un nom de package spécifique à cibler. Si l’intention est moins spécifiée, elle enregistre un avertissement à ce sujet. Dans ce cas, l’un des services correspondants multiples peut être utilisé. Si ce service n’est pas déjà en cours d’exécution, il est instancié et démarré (création d’un processus pour celui-ci si nécessaire) ; s’il est en cours d’exécution, il reste en cours d’exécution. Chaque appel à cette méthode entraîne un appel correspondant à la méthode Service.onStartCommand(Intent, int, int) du service cible, avec l’intention donnée ici. Cela permet de soumettre des travaux à un service sans avoir à lier et à appeler à son interface. L’utilisation de startService() remplace la durée de vie du service par défaut gérée par bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : le service doit rester en cours d’exécution jusqu’à ce que stopService(Intent) soit appelé, que les clients soient connectés. Notez que les appels à startService() ne sont pas imbriqués : peu importe le nombre de fois où vous appelez startService(), un seul appel à stopService(Intent) l’arrête. Le système tente de continuer à exécuter les services autant que possible. La seule fois qu’elles doivent être arrêtées, c’est si l’application de premier plan actuelle utilise autant de ressources que le service doit être tué. Si des erreurs se produisent dans le processus du service, elle est redémarrée automatiquement. Cette fonction lève SecurityException si vous n’êtes pas autorisé à démarrer le service donné. Remarque : Chaque appel à startService() entraîne un travail significatif effectué par le système pour gérer le cycle de vie du service entourant le traitement de l’intention, ce qui peut prendre plusieurs millisecondes de temps processeur. En raison de ce coût, startService() ne doit pas être utilisé pour la livraison fréquente d’intentions à un service, et uniquement pour planifier des travaux importants. Utilisez des services liés pour les appels à haute fréquence. À compter de la version du KIT SDK Build.VERSION_CODES. O , applications ciblant la version du SDK Build.VERSION_CODES. O ou version ultérieure ne sont pas autorisés à démarrer les services en arrière-plan à partir de l’arrière-plan. Pour plus d’informations, consultez les limites d’exécution en arrière-plan. Remarque : À compter de la version du SDK Build.VERSION_CODES. S , applications ciblant la version du SDK Build.VERSION_CODES. S ou version ultérieure ne sont pas autorisés à démarrer les services de premier plan à partir de l’arrière-plan. Pour plus d’informations, voir Changements de comportement : Applications ciblant Android 12. Intention du service Paramètres : identifie le service à démarrer. L’intention doit être entièrement explicite (en fournissant un nom de composant). Des valeurs supplémentaires peuvent être incluses dans les extras Intention pour fournir des arguments avec cet appel de début spécifique. Retourne ComponentName Cette valeur peut être null.

Attributs

Remarques

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Java documentation pour android.content.ContextWrapper.startService(android.content.Intent).

S’applique à