К обсуждениям

Nextcloud Android бесконечно открывает папку: матрица picker, SAF и разрешений

Редакция VOne Технологии

Как проверить бесконечную загрузку папки в выборе файла Nextcloud Android: отделить специальный доступ ко всем файлам, media permissions, системный picker и конкретный каталог.

Разделите четыре механизма доступа

Android различает разрешения на медиатеку, специальный Manage all files access, собственные каталоги приложения и Storage Access Framework с системным picker. Официальная документация подчёркивает, что SAF выдаёт приложению доступ к выбранному пользователем документу или каталогу через URI и не требует общего системного разрешения для выбора. Поэтому надпись «все файлы разрешены» не доказывает исправность интерфейса выбора. Запишите версию Android и Nextcloud, откуда открыт picker и тип папки, но не публикуйте имена файлов, аккаунт или адрес сервера.

Сравните два пути к одному тестовому файлу

Создайте небольшой нейтральный файл в обычной пользовательской папке без личных данных. Первый путь — штатная команда Android «Поделиться» или системный picker с выбором Nextcloud; второй — встроенная команда загрузки в приложении с переходом в ту же папку. В каждой клетке отметьте только: список появился, файл выбирается, загрузка началась. Не используйте Android/data и каталоги других приложений: официальная документация ограничивает доступ к ним даже при Manage all files. Если системный picker работает, а встроенный экран вращается, это граница интерфейса, но ещё не доказанная причина.

Не расширяйте разрешения наугад

Manage all files — специальный широкий доступ, использование которого ограничивается политиками Google Play и не открывает некоторые каталоги других приложений. Не выдавайте его только потому, что обычный выбор файла завис: сначала запишите текущее состояние разрешений и повторите узкий SAF-сценарий. Если широкое разрешение уже выдано, не переключайте одновременно media permissions, battery settings и storage access. Один изменяемый параметр нужен для пригодного результата. Не очищайте app data и не переустанавливайте клиент: это может удалить локальную очередь и привязку аккаунта, не проверив слой picker.

Пакет для поддержки без содержимого хранилища

Подготовьте версию приложения и Android, тип источника файла, два результата матрицы, момент появления spinner и факт возврата кнопкой Back. Добавьте запись экрана только на пустой тестовой папке, скрыв панель аккаунта и уведомления. Не прикладывайте дерево реальных каталогов, WebDAV URL, токены и журналы целиком. Если зависание воспроизводится только в одном каталоге, проверьте его через системный picker, не перемещая рабочие файлы. Если оба пути не показывают даже тестовый файл, это более широкий уровень Android storage; если ломается только экран Nextcloud, передайте узкий сценарий разработчикам.

Материал подготовлен редакцией VOne с применением ИИ для матрицы разрешений; границы Manage all files и SAF проверены по первичной документации Android, issue оставлен сигналом.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.