Как я могу отменить задание kotlin сопрограммы в методе onStop () - PullRequest
0 голосов
/ 01 апреля 2020
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)


        scope = CoroutineScope(Dispatchers.IO)
        job = scope.async {

            Log.e("TAG", "enter")
            while (isActive) {
                Log.e("TAG", "$isActive   Do something")
            }
        }

    }

override fun onStop() {
        super.onStop()
        job.cancel()
    }

Мне нужно выполнить несколько бесконечных циклов в работе, и я хочу отменить задание, когда это действие закроется.

Поэтому я пытаюсь использовать job.cancel в методе onStop (). Но циклы продолжаются, по-прежнему выводится «true, что-то сделать»

Я знал, что его можно заменить Thread или ThreadPool, но есть ли способ решить его с помощью kotlin coroutine

...