Langue

Service.StartForeground Méthode

Définition

Surcharges

Nom Description
StartForeground(Int32, Notification)

Si votre service est démarré (en Context#startService(Intent)cours d’exécution), effectuez également l’exécution de ce service au premier plan, en fournissant la notification en cours à afficher à l’utilisateur pendant cet état.

StartForeground(Int32, Notification, ForegroundService)

Version surchargée d’un #startForeground(int, Notification) paramètre foregroundServiceType supplémentaire.

StartForeground(Int32, Notification)

Si votre service est démarré (en Context#startService(Intent)cours d’exécution), effectuez également l’exécution de ce service au premier plan, en fournissant la notification en cours à afficher à l’utilisateur pendant cet état.

[Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;)V", "")]
public void StartForeground(int id, Android.App.Notification? notification);
[<Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;)V", "")>]
member this.StartForeground : int * Android.App.Notification -> unit

Paramètres

id
Int32

L’identificateur de cette notification en fonction NotificationManager#notify(int, Notification) NotificationManager.notify(int, Notification)de ; ne doit pas être 0.

notification
Notification

Notification à afficher.

Attributs

Remarques

Si votre service est démarré (en cours d’exécution via Context.startService(Intent)), ce service s’exécute également au premier plan, en fournissant la notification en cours à l’utilisateur dans cet état. Par défaut, les services démarrés sont en arrière-plan, ce qui signifie que leur processus ne sera pas donné au premier plan de la planification du processeur (sauf si quelque chose d’autre dans ce processus est au premier plan) et, si le système doit les tuer pour récupérer plus de mémoire (par exemple, pour afficher une grande page dans un navigateur web), ils peuvent être tués sans trop de mal. Vous utilisez startForeground(int, Notification) si vous tuez votre service serait perturbant l’utilisateur, par exemple si votre service effectue une lecture de musique en arrière-plan, de sorte que l’utilisateur remarquerait si sa musique a cessé de jouer. Notez que l’appel de cette méthode ne place pas le service dans l’état démarré lui-même, même si le nom sonne comme lui. Vous devez toujours appeler startService(Intent) pour indiquer au système qu’il doit maintenir le service en cours d’exécution, puis utiliser cette méthode pour lui indiquer de continuer à fonctionner plus difficile.

Applications ciblant les Build.VERSION_CODES d’API. P ou version ultérieure doit demander l’autorisation Manifest.permission.FOREGROUND_SERVICE pour utiliser cette API.

Applications créées avec la version du SDK Build.VERSION_CODES. Q ou version ultérieure peut spécifier les types de service de premier plan à l’aide de l’attribut R.attr.foregroundServiceType dans l’élément de service du fichier manifeste. La valeur de l’attribut R.attr.foregroundServiceType peut être plusieurs indicateurs ORed ensemble.

Remarque : À compter de la version du SDK Build.VERSION_CODES. S, applications ciblant la version du Kit de développement logiciel (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. Remarque : À compter de la version du SDK Build.VERSION_CODES. UPSIDE_DOWN_CAKE, les applications ciblant la version du SDK Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure ne sont pas autorisés à démarrer les services de premier plan sans spécifier de type de service de premier plan valide dans l’attribut manifeste R.attr.foregroundServiceType. Pour plus d’informations, voir Modifications de comportement : Applications ciblant Android 14.

Voir aussi :

Levées : ForegroundServiceStartNotAllowedException Si l’API de ciblage d’application est Build.VERSION_CODES. S ou version ultérieure et le service est limité à devenir un service de premier plan en raison d’une restriction en arrière-plan.

Levées : InvalidForegroundServiceTypeException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure, et l’attribut de manifeste R.attr.foregroundServiceType est défini sur des types non valides (par exemple, ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE).

Levées : MissingForegroundServiceTypeException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure, et l’attribut de manifeste R.attr.foregroundServiceType n’est pas défini.

Levées : SecurityException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure et n’a pas l’autorisation de démarrer le service de premier plan avec le type spécifié dans l’attribut manifeste R.attr.foregroundServiceType.

Référence Android pour android.app.Service.startForeground.

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.

S’applique à

StartForeground(Int32, Notification, ForegroundService)

Version surchargée d’un #startForeground(int, Notification) paramètre foregroundServiceType supplémentaire.

[Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;I)V", "", ApiSince=29)]
public void StartForeground(int id, Android.App.Notification notification, Android.Content.PM.ForegroundService foregroundServiceType);
[<Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;I)V", "", ApiSince=29)>]
member this.StartForeground : int * Android.App.Notification * Android.Content.PM.ForegroundService -> unit

Paramètres

id
Int32

L’identificateur de cette notification en fonction NotificationManager#notify(int, Notification) NotificationManager.notify(int, Notification)de ; ne doit pas être 0.

notification
Notification

Notification à afficher.

foregroundServiceType
ForegroundService

doit être un indicateur de sous-ensemble d’indicateurs d’attribut android.R.attr#foregroundServiceType de manifeste ; ne doit pas être ServiceInfo#FOREGROUND_SERVICE_TYPE_NONE.

Attributs

Remarques

Version surchargée de startForeground(int,Notification) avec un paramètre foregroundServiceType supplémentaire. Applications créées avec la version du SDK Build.VERSION_CODES. Q ou version ultérieure peut spécifier les types de service de premier plan à l’aide de l’attribut R.attr.foregroundServiceType dans l’élément de service du fichier manifeste. La valeur de l’attribut R.attr.foregroundServiceType peut être plusieurs indicateurs ORed ensemble.

Le paramètre foregroundServiceType doit être un indicateur de sous-ensemble de ce qui est spécifié dans l’attribut manifeste R.attr.foregroundServiceType, si ce n’est pas le cas, une exception IllegalArgumentException est levée. Spécifiez le paramètre foregroundServiceType comme ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST pour utiliser tous les indicateurs spécifiés dans l’attribut manifeste foregroundServiceType.

Remarque : À compter de la version du SDK Build.VERSION_CODES. S, applications ciblant la version du Kit de développement logiciel (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. Remarque : À compter de la version du SDK Build.VERSION_CODES. UPSIDE_DOWN_CAKE, les applications ciblant la version du SDK Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure ne sont pas autorisés à démarrer les services de premier plan sans spécifier de type de service de premier plan valide dans l’attribut manifeste R.attr.foregroundServiceType, et le paramètre foregroundServiceType ici ne doit pas être le ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE. Pour plus d’informations, voir Modifications de comportement : Applications ciblant Android 14.

Voir aussi :

Levées : ForegroundServiceStartNotAllowedException Si l’API de ciblage d’application est Build.VERSION_CODES. S ou version ultérieure et le service est limité à devenir un service de premier plan en raison d’une restriction en arrière-plan.

Levées : InvalidForegroundServiceTypeException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure, et l’attribut de manifeste R.attr.foregroundServiceType ou le param foregroundServiceType est défini sur des types non valides (i.e.ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE).

Levées : MissingForegroundServiceTypeException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure, et l’attribut de manifeste R.attr.foregroundServiceType n’est pas défini et le param foregroundServiceType est défini sur ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST.

Throws : IllegalArgumentException si param foregroundServiceType n’est pas un sous-ensemble de l’attribut manifeste R.attr.foregroundServiceType.

Levées : SecurityException Si l’API de ciblage d’application est Build.VERSION_CODES. UPSIDE_DOWN_CAKE ou version ultérieure et n’a pas l’autorisation de démarrer le service de premier plan avec le type spécifié dans foregroundServiceType. R.attr.foregroundServiceType.

Référence Android pour android.app.Service.startForeground.

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.

S’applique à