Подождите, пока все разрешения предоставлены - PullRequest
0 голосов
/ 28 сентября 2019

При запуске приложения мне нужно проверить, есть ли у приложения разрешение на запись в хранилище устройства и разрешение на доступ к местоположению устройства.Если у вас нет приложения, запросите у пользователя эти разрешения.

Для этого я использую следующий код:

private boolean mayRequestLocations() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        return true;
    }
    if (checkSelfPermission(ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
        return true;
    }

    if (!shouldShowRequestPermissionRationale(ACCESS_FINE_LOCATION)) {
        requestPermissions(new String[]{ACCESS_FINE_LOCATION}, 0);
    }
    return false;
}

и

private boolean isStoragePermissionGranted() {
    if (Build.VERSION.SDK_INT >= 23) {
        if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                == PackageManager.PERMISSION_GRANTED) {
            return true;
        } else {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
            return false;
        }
    } else {
        return true;
    }
}

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

Я считаю, что нужноAsyncTask, но не знаю, как это сделать.Любая помощь, пожалуйста?

...