Короче смотри.
- Запускаешь корутину или по другому в фоне код, который проверяет дан ли пермишен
- открываешь экран где пермишен дается
- как только видишь что дали, "вытаскаиваешь" свою активити на форегрунд через activityManager.moveTaskToFront
- если юзер вернулся в апп или вышел какой-нибуль таймаует (к примеру 30 секунд), кенселишь корутину
Код
https://gist.github.com/Salat-Cx65/9948b5177628813c394dd879cc6dbe4e