У меня есть приложение, которое отлично работает на стандартных устройствах с разделом External storage
или встроенной/внешней SD-картой. Но в последнее время я перешел на планшет Acer для тестирования, и все файловые операции на нем нарушены.Не удается получить доступ к общим папкам на внутренней памяти
Планшет имеет только Internal storage
, на котором расположены стандартные общедоступные каталоги (Download, DCIM и т. Д.). У меня есть библиотека хранилища, которая проверяет, доступен ли External, если нет - настраивается на использование Internal. Тем не менее, я полностью не смог получить доступ к публичным каталогам с библиотекой или без нее. Вот мои впечатления:
Внешний раздел обнаружен,
Environment.getExternalDirectory()
вернуть некоторую общую папку, MEDIA_MOUNTED (чтение/запись) статус, но я не могу писать, читать, создавать реж вообще ничего (чтение/запись разрешения вManifest.xml
правильно установлены);/sdcard пуст при доступе из какого-либо места, а не из другого, некоторая магическая ссылка на вуду, я думаю ...С другой стороны, когда я переключаюсь на использование
Internal storage
, я могу писать файлы только в приложение частная папка (com/myapp /.../ app_)/sdcard недоступна, хотя она и есть внутри, практически.- Пробовал использовать
Intents
иContentResolvers
, чтобы позволить ОС Android самостоятельно решить, как получить/предоставить доступ к данным и общедоступным серверам. Даже если бы это сработало, мне нужно было бы полностью переустановить мои FileUtils и FilePicker только из-за этого конкретного устройства (приложение работало правильно на нескольких планшетах, телефонах, эмуляторах ...) adb shell
от терминала дает мне прямой доступ к общедоступным справочникам;Android Device Monitor
- нет;
Любое мнение оценивается. Благодарю.
https://developer.android.com/training/permissions/requesting.html – 1615903
Спасибо большое, 1615 ...! Это решило проблему. – speirs23