Partager via


JobScheduler Classe

Définition

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
JobScheduler
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.JobServicevotre 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_CAKEAndroid, 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#Sd’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#SAndroid, 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#LOLLIPOPAndroid, 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#RAndroid, les travaux ont eu une durée d’exécution maximale de 10 minutes. À partir de la version android.os.Build.VERSION_CODES#Sd’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 #schedule(JobInfo) un travail n’a pas été planifié correctement.

ResultSuccess

Retourné si #schedule(JobInfo) ce travail a été correctement planifié.

Propriétés

AllPendingJobs
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
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 true si l’application appelante contient actuellement l’autorisation android.Manifest.permission#RUN_USER_INITIATED_JOBS , ce qui lui permet d’exécuter des travaux initiés par l’utilisateur.

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 #schedulemettre en file d’attente le travail pour un nouveau travail <em>ou existant</em> .

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.

S’applique à