Стробоскоп по API21 + - PullRequest
       12

Стробоскоп по API21 +

0 голосов
/ 08 мая 2019

делаю стробоскоп по API 21 и выше.Стробоскоп работает нормально, но при выключении выдает следующую ошибку:

android.app.IntentReceiverLeaked: Service 
co.onlini.piuAlarm.domain.service.AlarmService has leaked IntentReceiver 
android.hardware.camera2.CameraManager$1@261b1d that was originally registered 
here. Are you missing a call to unregisterReceiver()?

Моя реализация строба:

class StrobeRunner(var cameraManager: CameraManager, var on: Boolean, var id: String) : Runnable {
    var isOnOff = false

    fun stop(){
        on = false
        run()
    }

    override fun run() {
        while (on) {
            cameraManager.setTorchMode(id, true)
            Thread.sleep(500.toLong())
            cameraManager.setTorchMode(id, false)
            Thread.sleep(500.toLong())
        }
    }
}

Не могу понять как и отписаться в unregisterReceiver ()?

Или, может, кто-то знает, где смотреть реализацию строба для Api 21 +?

Я пробовал , это и , это и другие вариантыдля предыдущего API.Не знаю почему, но если попытаться включить флеш по этому принципу в другом потоке, он не включается, но без проблем в mainThread.

...