Middle
Ի՞նչ տեսակների WorkRequest գիտեք և ինչ չափանիշներ կարելի է նրանց վրա կիրառել:
sobes.tech AI
Պատասխան AI-ից
Աշխատանքի հայտի տեսակներ:
- OneTimeWorkRequest: Կատարվում է մեկ անգամ, երբ բավարարում է իր սահմանափակումները:
- PeriodicWorkRequest: Կատարվում է բազմիցս որոշ ժամանակային միջակայքով:
Սահմանափակումներ (Constraints), որոնք կարող են կիրառվել աշխատանքային հայտի վրա:
setRequiredNetworkType(NetworkType networkType): Պահանջվող ցանցի տեսակ (CONNECTED, UNMETERED, NOT_ROAMING, METERED, NOT_REQUIRED):setRequiresCharging(boolean requiresCharging): Պահանջվում է սարքի լիցքավորումը:setRequiresDeviceIdle(boolean requiresDeviceIdle): Պահանջվում է, որ սարքը լինի անգործության վիճակում:setRequiresBatteryNotLow(boolean requiresBatteryNotLow): Պահանջվում է, որ մարտկոցի մակարդակը չլինի ցածր:setRequiresStorageNotLow(boolean requiresStorageNotLow): Պահանջվում է, որ պահեստային տարածքը չլինի սպառված:addContentUriTrigger(Uri uri, boolean triggerContentMaxDelay): Թրիգեր՝ content-ի փոփոխության դեպքում նշված Uri-ով:setTriggerContentUpdateDelay(long duration, TimeUnit unit): Ժամկետ՝ սպասելուց հետո գործարկելու համար փոփոխությունից հետո (OneTimeWorkRequest):setTriggerContentMaxDelay(long duration, TimeUnit unit): Максимальный ժամկետ՝ սպասելուց հետո գործարկելու համար փոփոխությունից հետո (PeriodicWorkRequest):
Օրինակ՝ սահմանափակումներով OneTimeWorkRequest ստեղծելու համար:
// Սահմանափակումներ ստեղծում
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.setRequiresCharging(true)
.build()
// Սահմանափակումներով OneTimeWorkRequest ստեղծում
val workRequest = OneTimeWorkRequestBuilder<MyWorker>()
.setConstraints(constraints)
.build()
Օրինակ՝ սահմանափակումներով PeriodicWorkRequest ստեղծելու համար:
// Սահմանափակումներ ստեղծում
val constraints = Constraints.Builder()
.setRequiresDeviceIdle(true)
.build()
// Սահմանափակումներով PeriodicWorkRequest ստեղծում
val periodicWorkRequest = PeriodicWorkRequestBuilder<MyWorker>(15, TimeUnit.MINUTES)
.setConstraints(constraints)
.build()