JobScheduler Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application.
[Android.Runtime.Register("android/app/job/JobScheduler", DoNotGenerateAcw=true)]
public abstract class JobScheduler : Java.Lang.Object
[<Android.Runtime.Register("android/app/job/JobScheduler", DoNotGenerateAcw=true)>]
type JobScheduler = class
inherit Object
- Héritage
- Attributs
Remarques
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application.
Pour plus d’informations sur les types de travaux qui peuvent être exécutés et comment les construire, consultez android.app.job.JobInfo
la description. Vous allez construire ces objets JobInfo et les transmettre à JobScheduler avec #schedule(JobInfo)
. Lorsque les critères déclarés sont remplis, le système exécute ce travail sur le site de android.app.job.JobService
votre application. Vous identifiez le composant de service qui implémente la logique de votre travail lorsque vous construisez JobInfo à l’aide android.app.job.JobInfo.Builder#Builder(int,android.content.ComponentName)
de .
L’infrastructure sera intelligente quand elle exécute des travaux et tentera de les traiter et de les différer autant que possible. En règle générale, si vous ne spécifiez pas d’échéance sur un travail, il peut être exécuté à tout moment en fonction de l’état actuel de la file d’attente interne de JobScheduler.
À compter de la version android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
Android, JobScheduler peut essayer d’optimiser l’exécution du travail en déplaçant l’exécution en temps avec des ressources système plus disponibles afin de réduire l’impact utilisateur. Les facteurs d’intégrité du système incluent une batterie suffisante, un inactivité, une charge et un accès à un réseau non limité. Les emplois seront initialement traités comme s’ils ont toutes ces exigences, mais à mesure que leurs échéances approchent, les restrictions deviendront moins strictes. Les exigences demandées ne seront pas affectées par cette modification.
android.app.job.JobInfo.Builder#setRequiresBatteryNotLow(boolean)
android.app.job.JobInfo.Builder#setRequiresDeviceIdle(boolean)
android.app.job.JobInfo.Builder#setRequiresCharging(boolean)
android.app.job.JobInfo.Builder#setRequiredNetworkType(int)
Pendant qu’un travail est en cours d’exécution, le système contient un wakelock pour le compte de votre application. Pour cette raison, vous n’avez pas besoin de prendre des mesures pour garantir que l’appareil reste éveillé pendant la durée du travail.
Vous n’instanciez pas cette classe directement ; au lieu de cela, récupérez-le via android.content.Context#getSystemService Context.getSystemService(Context.JOB_SCHEDULER_SERVICE)
.
Avant la version android.os.Build.VERSION_CODES#S
d’Android, les travaux ne pouvaient avoir qu’un maximum de 100 travaux planifiés à la fois. À compter de la version android.os.Build.VERSION_CODES#S
Android, cette limite a été augmentée à 150. Les travaux accélérés comptent également vers la limite.
Dans la version android.os.Build.VERSION_CODES#LOLLIPOP
Android, les travaux avaient une durée d’exécution maximale d’une minute. À compter de la version android.os.Build.VERSION_CODES#M
Android et de la version android.os.Build.VERSION_CODES#R
Android, les travaux ont eu une durée d’exécution maximale de 10 minutes. À partir de la version android.os.Build.VERSION_CODES#S
d’Android, les travaux sont toujours arrêtés après 10 minutes si le système est occupé ou a besoin des ressources, mais si ce n’est pas le cas, les travaux peuvent continuer à s’exécuter plus de 10 minutes.
<p class="caution"><strong>Remarque :</strong> À compter de l’API 30 (android.os.Build.VERSION_CODES#R
), JobScheduler limite les applications de fuite. L’appel #schedule(JobInfo)
et d’autres méthodes de ce type avec une fréquence très élevée peuvent avoir un coût élevé et ainsi, pour s’assurer que le système n’est pas submergé, JobScheduler commence à limiter les applications, quelle que soit la version du KIT de développement logiciel (SDK) cible.
Documentation Java pour android.app.job.JobScheduler
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Constructeurs
JobScheduler() | |
JobScheduler(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Champs
PendingJobReasonApp |
Obsolète.
L’application est dans un état qui empêche l’exécution du travail (par exemple. |
PendingJobReasonAppStandby |
Obsolète.
Le compartiment de secours actuel empêche l’exécution du travail. |
PendingJobReasonBackgroundRestriction |
Obsolète.
L’application est limitée à l’exécution en arrière-plan. |
PendingJobReasonConstraintBatteryNotLow |
Obsolète.
La contrainte de batterie non basse demandée n’est pas satisfaite. |
PendingJobReasonConstraintCharging |
Obsolète.
La contrainte de facturation demandée n’est pas satisfaite. |
PendingJobReasonConstraintConnectivity |
Obsolète.
La contrainte de connectivité demandée n’est pas satisfaite. |
PendingJobReasonConstraintContentTrigger |
Obsolète.
La contrainte de déclencheur de contenu demandée n’est pas satisfaite. |
PendingJobReasonConstraintDeviceIdle |
Obsolète.
La contrainte inactive demandée n’est pas satisfaite. |
PendingJobReasonConstraintMinimumLatency |
Obsolète.
La latence minimale n’a pas transpiré. |
PendingJobReasonConstraintPrefetch |
Obsolète.
L’estimation du système de la date de lancement de l’application est assez éloignée pour justifier le retard de ce travail. |
PendingJobReasonConstraintStorageNotLow |
Obsolète.
La contrainte de stockage non faible demandée n’est pas satisfaite. |
PendingJobReasonDeviceState |
Obsolète.
Le travail est différé en raison de l’état de l’appareil (par exemple, |
PendingJobReasonExecuting |
Obsolète.
Le travail est en cours d’exécution et n’est donc pas en attente. |
PendingJobReasonInvalidJobId |
Obsolète.
Le travail n’existe pas. |
PendingJobReasonJobSchedulerOptimization |
Obsolète.
JobScheduler pense qu’il peut différer ce travail à un temps d’exécution plus optimal. |
PendingJobReasonQuota |
Obsolète.
L’application a consommé tout son quota actuel. |
PendingJobReasonUndefined |
Obsolète.
Il n’y a aucune raison connue pour laquelle le travail est en attente. |
PendingJobReasonUser |
Obsolète.
JobScheduler respecte l’une des actions de l’utilisateur (par exemple, |
ResultFailure |
Retourné si |
ResultSuccess |
Retourné si |
Propriétés
AllPendingJobs | |
Class |
Retourne la classe runtime de ce |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
JniIdentityHashCode |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
JniPeerMembers |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. |
Namespace |
Obtenez l’espace de noms dans lequel fonctionne l’instance JobScheduler. |
PeerReference |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
PendingJobsInAllNamespaces |
Récupérez tous les travaux planifiés par l’application appelante dans l’espace de noms actuel. |
ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
Cancel(Int32) |
Annulez le travail spécifié. |
CancelAll() |
Annulez tous les travaux qui ont été planifiés dans l’espace de noms actuel par l’application appelante. |
CancelInAllNamespaces() |
Annulez <tous les<> travaux em>qui ont été planifiés par l’application appelante, quel que soit l’espace de noms. |
CanRunUserInitiatedJobs() |
Retourne |
Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
Dispose() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
Dispose(Boolean) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
Enqueue(JobInfo, JobWorkItem) |
Similaire à , mais vous permet de |
Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
ForNamespace(String) |
Obtenez une instance JobScheduler dédiée à un espace de noms spécifique. |
GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
GetPendingJob(Int32) |
Recherchez la description d’un travail planifié. |
GetPendingJobReason(Int32) |
Retourne une raison pour laquelle le travail est en attente et non en cours d’exécution. |
JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
Schedule(JobInfo) |
Planifiez l’exécution d’un travail. |
SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
ToArray<T>() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
UnregisterFromRuntime() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou> <em>interrompu</em>.<> (Hérité de Object) |
Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
IJavaPeerable.Disposed() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.Finalized() |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.JniManagedPeerState |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. (Hérité de Object) |
Méthodes d’extension
JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
JavaCast<TResult>(IJavaObject) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. |
GetJniTypeName(IJavaPeerable) |
Il s’agit d’une API permettant de planifier différents types de travaux sur le framework qui seront exécutés dans le processus de votre application. |