Junior — Middle
WorkManager orqali boshlatilgan vazifani qanday bekor qilish mumkin?
sobes.tech AI
AIdan javob
Android'da WorkManager orqali boshlagan vazifani bekor qilish uchun, WorkManager tomonidan taqdim etilgan bekor qilish usullaridan foydalanishingiz mumkin. Asosiy bekor qilish usullari:
- Vazifa identifikatori (UUID) bo'yicha bekor qilish:
val workManager = WorkManager.getInstance(context)
workManager.cancelWorkById(workRequest.id)
- Teg bo'yicha bekor qilish, agar vazifa teg bilan boshlatilgan bo'lsa:
workManager.cancelAllWorkByTag("myTag")
- Vazifa ketma-ketligi nomi bo'yicha bekor qilish:
workManager.cancelUniqueWork("uniqueWorkName")
Bekor qilish metodini chaqirgandan so'ng, WorkManager vazifani to'xtatishga harakat qiladi, agar u hali tugatilmagan bo'lsa. Muhim, vazifa (Worker) ichida to'g'ri bekor qilishni boshqarish, masalan, isStopped flagini tekshirish va vaqtida chiqish.
Worker ichida misol:
class MyWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
override fun doWork(): Result {
for (i in 0 until 100) {
if (isStopped) {
return Result.failure()
}
// Ishning bir qismini bajarish
}
return Result.success()
}
}