JobScheduler Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения.
[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
- Наследование
- Атрибуты
Комментарии
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения.
Дополнительные android.app.job.JobInfo
сведения о типах заданий, которые могут выполняться и как создавать их. Эти объекты JobInfo будут создаваться и передавать их в JobScheduler.#schedule(JobInfo)
Когда объявленные условия выполняются, система выполнит это задание в приложении android.app.job.JobService
. Вы определяете компонент службы, реализующий логику задания при создании JobInfo с помощью android.app.job.JobInfo.Builder#Builder(int,android.content.ComponentName)
.
Платформа будет интеллектуальной при выполнении заданий и пытается пакетировать и отложить их как можно больше. Как правило, если не указать крайний срок для задания, он может выполняться в любой момент в зависимости от текущего состояния внутренней очереди JobScheduler.
Начиная с версии android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
Android JobScheduler может попытаться оптимизировать выполнение задания, переместив выполнение в время с более доступными системными ресурсами, чтобы снизить влияние пользователя. Факторы в работоспособности системы включают достаточно батареи, простоя, зарядки и доступа к неуправляемой сети. Задания изначально будут рассматриваться как если бы они имеют все эти требования, но по мере их крайних сроков ограничения становятся менее строгими. Запрошенные требования не будут затронуты этим изменением.
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)
Во время выполнения задания система хранит пробуждение от имени приложения. По этой причине вам не нужно предпринимать никаких действий, чтобы гарантировать, что устройство остается в состоянии пробуждения в течение длительности задания.
Вы не создаете экземпляр этого класса напрямую; вместо этого получите его через android.content.Context#getSystemService Context.getSystemService(Context.JOB_SCHEDULER_SERVICE)
.
До версии android.os.Build.VERSION_CODES#S
Android задания могут иметь не более 100 заданий, запланированных за раз. Начиная с версии android.os.Build.VERSION_CODES#S
Android, это ограничение увеличилось до 150. Ускоренная работа также учитывается в сторону предела.
В версии android.os.Build.VERSION_CODES#LOLLIPOP
Android задания имели максимальное время выполнения в течение одной минуты. Начиная с версии Android и заканчивая версией android.os.Build.VERSION_CODES#M
android.os.Build.VERSION_CODES#R
Android, задания имели максимальное время выполнения в 10 минут. Начиная с версии android.os.Build.VERSION_CODES#S
Android задания по-прежнему будут остановлены через 10 минут, если система занята или нуждается в ресурсах, но если нет, задания могут продолжать работать дольше 10 минут.
<p class="warning"><strong>Note:</strong> , начиная с API 30 (android.os.Build.VERSION_CODES#R
), JobScheduler будет регулировать запускаемые приложения. Вызовы #schedule(JobInfo)
и другие такие методы с очень высокой частотой могут иметь высокую стоимость и поэтому, чтобы убедиться, что система не перегружена, JobScheduler начнет регулировать приложения независимо от целевой версии пакета SDK.
Документация по Java для android.app.job.JobScheduler
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
JobScheduler() | |
JobScheduler(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Поля
PendingJobReasonApp |
Устаревшие..
Приложение находится в состоянии, которое предотвращает выполнение задания (например, |
PendingJobReasonAppStandby |
Устаревшие..
Текущий резервный контейнер предотвращает выполнение задания. |
PendingJobReasonBackgroundRestriction |
Устаревшие..
Приложение ограничено выполнением в фоновом режиме. |
PendingJobReasonConstraintBatteryNotLow |
Устаревшие..
Запрошенное ограничение на заряд батареи не соответствует требованиям. |
PendingJobReasonConstraintCharging |
Устаревшие..
Запрошенное ограничение зарядки не удовлетворено. |
PendingJobReasonConstraintConnectivity |
Устаревшие..
Запрошенное ограничение подключения не удовлетворено. |
PendingJobReasonConstraintContentTrigger |
Устаревшие..
Запрошенное ограничение триггера содержимого не удовлетворено. |
PendingJobReasonConstraintDeviceIdle |
Устаревшие..
Запрошенное ограничение простоя не удовлетворяется. |
PendingJobReasonConstraintMinimumLatency |
Устаревшие..
Минимальная задержка не произошла. |
PendingJobReasonConstraintPrefetch |
Устаревшие..
Оценка системы о том, когда приложение будет запущено, достаточно далеко, чтобы гарантировать задержку этого задания. |
PendingJobReasonConstraintStorageNotLow |
Устаревшие..
Запрошенное ограничение хранилища не является низким. |
PendingJobReasonDeviceState |
Устаревшие..
Задание отложено из-за состояния устройства (например. |
PendingJobReasonExecuting |
Устаревшие..
В настоящее время задание выполняется и поэтому не ожидается. |
PendingJobReasonInvalidJobId |
Устаревшие..
Задание не существует. |
PendingJobReasonJobSchedulerOptimization |
Устаревшие..
JobScheduler считает, что это может отложить это задание до более оптимального времени выполнения. |
PendingJobReasonQuota |
Устаревшие..
Приложение использовало всю текущую квоту. |
PendingJobReasonUndefined |
Устаревшие..
Нет известной причины, по которой задание ожидается. |
PendingJobReasonUser |
Устаревшие..
JobScheduler уважает одно из действий пользователя (например, |
ResultFailure |
Возвращается, |
ResultSuccess |
Возвращается, |
Свойства
AllPendingJobs | |
Class |
Возвращает класс среды выполнения этого |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
JniPeerMembers |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. |
Namespace |
Получите пространство имен, в который работает экземпляр JobScheduler. |
PeerReference |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
PendingJobsInAllNamespaces |
Извлеките все задания, запланированные вызывающим приложением в текущем пространстве имен. |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
Cancel(Int32) |
Отмена указанного задания. |
CancelAll() |
Отмените все задания, запланированные в текущем пространстве имен вызывающим приложением. |
CancelInAllNamespaces() |
Отмена <всех< или em> заданий, запланированных вызывающим приложением, независимо>от пространства имен. |
CanRunUserInitiatedJobs() |
Возвращает, |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Dispose() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
Dispose(Boolean) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
Enqueue(JobInfo, JobWorkItem) |
|
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
ForNamespace(String) |
Получите экземпляр JobScheduler, выделенный для определенного пространства имен. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
GetPendingJob(Int32) |
Просмотрите описание запланированного задания. |
GetPendingJobReason(Int32) |
Возвращает причину, по которой задание ожидается и не выполняется в данный момент. |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Schedule(JobInfo) |
Планирование выполнения задания. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. |
GetJniTypeName(IJavaPeerable) |
Это API для планирования различных типов заданий на платформе, которая будет выполняться в собственном процессе приложения. |