Sobes.tech
Junior — Middle

Ինչպես կարելի է չեղարկել WorkManager-ով սկսված առաջադրանքը?

sobes.tech AI

Պատասխան AI-ից

Android-ում WorkManager-ի միջոցով սկսված առաջադրանքը չեղյալ համարելու համար, դուք կարող եք օգտագործել ինքնուրույն WorkManager-ի տրամադրած չեղյալ հայտարարելու մեթոդները: Հիմնական չեղյալ հայտարարելու եղանակները՝

  1. Առաջադրանքի ID (UUID) միջոցով չեղյալ հայտարարում:
val workManager = WorkManager.getInstance(context)
workManager.cancelWorkById(workRequest.id)
  1. Թեգի միջոցով, եթե առաջադրանքը սկսվել է թեգով:
workManager.cancelAllWorkByTag("myTag")
  1. Շղթայի անվան միջոցով:
workManager.cancelUniqueWork("uniqueWorkName")

Չեղյալ հայտարարելու մեթոդը կանչելուց հետո, WorkManager-ը կփորձի կանգնեցնել առաջադրանքի կատարմանը, եթե այն դեռ չի ավարտվել: Կարևոր է, որ ինքնուրույն (Worker) առաջադրանքը ճիշտ կերպով կառավարի չեղյալ հայտարարումը, օրինակ՝ ստուգելով isStopped նշանը և ժամանակին դուրս գալ:

Worker-ի ներսում օրինակ՝

class MyWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
    override fun doWork(): Result {
        for (i in 0 until 100) {
            if (isStopped) {
                return Result.failure()
            }
            // Աշխատանքի մաս կատարում
        }
        return Result.success()
    }
}