AIMP для Android — политика доступа к файлам

Версия 3.20 AIMP для ОС Андроид только вышла из стадии бета-тестирования, как пользователи стали высказывать нам недовольство из-за усложнения доступа к файлам на карте памяти. В этой заметке мы попробуем ответить на все вопросы.

Большую часть отзывов можно свести к нескольким вопросам:

  • Разрешения плееру даны, однако папки он не видит!
  • Почему я не могу добавить папку Downloads?
  • Почему я должен добавлять каждую папку отдельно?
  • Почему нельзя указать корень карты памяти?
  • Почему вы не сделали новый подход опциональным?
  • Новая версия работает медленнее!

Экскурс в историю

Еще в Android 10, Google озаботилась конфиденциальностью, постаравшись максимально оградить сторонние приложения от несанкционированного доступа к пользовательских данным (в т.ч. файлам). Так появился механизм Scoped Storage. В чем заключается его работа? Главная особенность в том, что сторонние приложения больше не имеют полного доступа к файловой системе (даже в режиме чтения). Все, что «видят» программы — это файлы и папки, к которым пользователь самолично откроет доступ (да, можно открыть доступ к индивидуальным файлам).

Однако, в Android 10 scoped storage носил лишь рекомендательный характер и разрабочтики приложений могли выбирать, какой механизм доступа использовать — защищенный (Scoped Storage) или классический.

С выходом Android 11 все изменилось — scoped storage стал единственным механизмом, который могут использовать сторонние приложения (за исключением некоторых категорий программ — файловых менеджеров, антивирусов и других около системных приложений).

Ответы на вопросы

Теперь, когда вы немного в курсе того, что происходит с развитием Android, мы ответим на вопросы.

Почему я не могу добавить папку Downloads?

По умолчанию, в папку Downloads скачивается все, что вы скачиваете. А это значит, что в этой папке могут храниться конфиденциальные файлы. Поэтому Google не дает открыть доступ к этой папке целиком — можно открывать доступ только к индивидуальным файлам. Увы, AIMP с индивидуальными файлами работать пока не может.

Почему я должен добавлять каждую папку отдельно?
Почему нельзя указать корень карты памяти?

Ситуация аналогична предыдущему вопросу. Открывая доступ к корню карты памяти, вы открываете доступ ко всем ее внутренним папкам, а в них, в свою очередь, могут храниться конфиденциальные данные. Это небезопасно, поэтому Google блокирует это действие.

Как же тогда работают старые приложения на 11-ом Андроиде?

Старые приложения работают в режиме совместимости с той версией Андроид, под которую были разработаны. Соответственно, требования scoped storage на них не распространяются.

Зачем нужно было переводить приложение на Android 11? Писали бы для старой версии!

На этот счет Google тоже подумал: до 1-го ноября разработчики обязаны адаптировать приложение как минимум под предыдущую версию Android. Например, в этом году мы были обязаны адаптировать наши приложения под Android 11 или 12. Если разработчики этого не сделают — Google запретит им выпускать обновления для приложения.

Новая версия работает медленее!

Это один из главных минусов scoped storage. Мы потратили чуть больше трех месяцев, чтобы оптимизировать работу с файловой системой через новый механизм, но, увы, к уровню производительности предыдущей версии так и не приблизились.

Разрешения плееру даны, однако папок он не видит!

Помимо разрешений, что даются приложению при первом запуске, вам нужно открыть доступ к папкам, к которым у плеера будет доступ. Если вы пропустили подсказки от плеера при первом запуске — проделайте следующее:

1. Пройдите на экран плейлиста через главное меню или swipe-жестом:

2. Затем нажмите кнопку «+» \ «Добавить файлы…», чтобы открыть экран добавления файлов:


3. Чтобы открыть доступ к папке — добавить папку в список, нажмите на «баннер»:

4. В появившемся окне* выберите папку с музыкой и нажмите на кнопку «использовать эту папку»:

* На некоторых телефонах в этом случае возникает сообщение, что нужного приложения не установлено. В этом случае, проверьте: не отключено ли системное приложение «Файлы» («Документы»), попробуйте поставить официальное приложение Google Files.

P.S.

Если по как-либо причинам вам не подходит новая политика безопасности от Google — вы можете скачать специальную версию программы с использованием классической политики доступа к файлам.

AIMP для Android — политика доступа к файлам: 20 комментариев

  1. andrey999933

    Хороший плеер, но есть таки проблема, нет выбора ассоциаций, я бы хотел в меню настроек иметь выбор типа файлов, а так получается при создании плей листа, в него попадает буквально всё и муз файл и голосовые с ватсап и вот именно голосовые ватсап я слушать в плеере не хочу. может исправить как то это маленькое не удобство.

  2. Not_weak

    А почему бы не научить плеер работать под root? Пользователям у которых есть root это было бы полезно, и тогда по идее, можно будет получить полный доступ к накопителям, а не к отдельным папкам.

  3. Artem T

    Нажатие на «баннер» из 3 пункта нарушает привычный UX. Этот элемент не выглядит кликабельным и, возможно, из-за этого у многих пользователей возникает проблема с выдачей прав на папку. Думаю, после пояснительного текста должна идти стандартная кнопка (не ссылка или что-то ещё), потому что это единственный и обязательный сценарий использования этого экрана в ситуации, когда этот «баннер» виден.

      1. Ya-Grisha

        Вот ведь засада, а…
        Тогда я вижу последний вариант, сделать простенький файловый менеджер отдельным приложением, сертифицировать его (или как там у них процесс аккредитации называется), и связать их АПИ с АИМП плеером. Хотя риск конечно есть, если отзовут потом аккредитацию.

        1. Artem Автор записи

          Не получится. Вопрос не в том, что плеер не может получить пути к файлам, а в том, что по этим путям он ничего не сможет прочитать. Текущий вариант оптимальный. Один раз настраиваешь доступ к папка и все, дальше плеер работает как и раньше (ну чуть медленнее, да)

  4. Green

    С политикой гугла всё понятно, а как на счёт того, чтобы публиковать правильные apk (с полным доступом к файловой системе) тут на сайте или на том же f-droid? Наверное, не сложно же будет сделать 2 версии, с разными правами доступа?

      1. Lvnmsk

        Если вы имели в виду это:
        4. В появившемся окне* выберите папку с музыкой и нажмите на кнопку «использовать эту папку»
        то в «появившемся окне» нет SD карты или ее папок. Есть папки только с памяти устройства.
        Как?

Добавить комментарий