Как запросить разрешение у пользователя
Добрейшего времени суток, такая проблема, хочу запросить у пользователя разрешение, но при запуске кода ничего не происходит, вот код запроса разрешения:
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
Ответы (1 шт):
Автор решения: antipups
→ Ссылка
Ответ прост, есть два вида разрешений и то разрешение которое мне нужно было, это опасное разрешение и его просто так у пользователя не спросить, а посему вот код:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) // проверяем версию устроиства (доступно только с 6-ого андройда)
{
if (Settings.System.canWrite(this)) // проверяем можно ли делать то что нам надо (записывать настройки)
{
println("Доступ есть")
}
else // если нельзя то создаем окно и запрашиваем у пользователя разрешения в нем
{
val intent = Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS) // action_manage... ниже объясню
intent.setData(Uri.parse("package:" + this.packageName));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
}
}
ACTION_MANAGE_WRITE_SETTING - это окно которое будет вызвано для запроса нужного разрешения, для опасного разрешения это делается так. Ссыль на все эти окна:окна для получения разрешения