примерно так
override void onResume(..) { //повторные запуски после того как пермишен выдан
// Запрос разрешения у пользователя на доступ к локации
// this был заменен на MainActivity.this
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)==-1){
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSION_REQUEST);
} else {
if (thread == null ) {
thred = new Thread
}
}
}
override fun onRequestPermissionsResult (...) {
//если пермишен только что выдан то
if (thread == null ) {
thred = new Thread
}
по if (thread == null ) защищаемся от повторного запуска