Как проверить, разрешено ли «Разрешить управление всеми файлами»?

#java #android #permissions #storage #android-permissions

Вопрос:

В настройках приложения для Android есть в основном 3 типа разрешений на хранение:

введите описание изображения здесь

Для моего приложения требуется наивысшее разрешение, поэтому я использую lt;uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/gt; manifest.xml его .

Теперь я хочу заблокировать все приложение, если разрешение не будет предоставлено. Поэтому я попытался использовать этот код, чтобы проверить, предоставлено ли наивысшее разрешение, но он всегда возвращает false.

 if(ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.MANAGE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)  

Я также пробовал использовать WRITE_EXTERNAL_STORAGE , но он также возвращает значение true при втором варианте «Разрешить доступ только к мультимедиа».

Вывод

Я ищу boolean функцию:

  • Возвращает значение true, если выбран параметр «Разрешить управление всеми файлами».
  • Возвращает значение false, если выбран параметр «Разрешить доступ только к носителям».
  • Возвращает значение false, если выбрано «Запретить»

Спасибо.

Комментарии:

1. работает ли ваше приложение при выборе пользователем Allow access to media only .

2. @VishalBeep Нет, это не так.

3. @blackapps Большое вам спасибо. Это именно то, что я искал 🙂

Ответ №1:

 Environment.isExternalStorageManager().