Junior — Middle
WorkManager vasitəsilə başlatılmış tapşırığı necə ləğv etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Android-də WorkManager vasitəsilə başladılmış vəzifəni ləğv etmək üçün, WorkManager-in özü tərəfindən təqdim olunan ləğv metodlarından istifadə edə bilərsiniz. Əsas ləğv üsulları:
- Tapşırıq ID-si (UUID) ilə ləğv:
val workManager = WorkManager.getInstance(context)
workManager.cancelWorkById(workRequest.id)
- Etiketə görə ləğv, əgər tapşırıq etiket ilə başlamışsa:
workManager.cancelAllWorkByTag("myTag")
- Tapşırıq zənciri adı ilə ləğv:
workManager.cancelUniqueWork("uniqueWorkName")
Ləğv metodunu çağırdıqdan sonra, WorkManager tapşırığın icrasını dayandırmağa çalışacaq, əgər hələ tamamlanmayıbsa. Vacibdir ki, tapşırığın özü (Worker) düzgün ləğv idarəsini həyata keçirsin, məsələn, isStopped bayrağını yoxlamaq və vaxtında çıxmaq.
Worker daxilində nümunə:
class MyWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
override fun doWork(): Result {
for (i in 0 until 100) {
if (isStopped) {
return Result.failure()
}
// İşin bir hissəsini yerinə yetirmək
}
return Result.success()
}
}