Я пишу небольшое приложение, которое читает файлы, которые необходимо регулярно записывать в хранилище на устройстве из источника, внешнего для устройства, будь то USB, Bluetooth, Airdroid и т.д. Из того, что я читал, ничего подобного может записываться во внутреннее хранилище. Я хотел бы управлять файлами во внутреннем хранилище для обеспечения конфиденциальности.
Мое первое решение - это действие, которое позволяет пользователю записывать файлы на внешнее хранилище, а затем нажать кнопку, чтобы перенести их на внутреннее хранилище. Если это не произойдет через n минут, файлы на внешнем хранилище будут уничтожены. Но с тех пор я узнал, что getExternalStorageDirectory
довольно бесполезен, потому что устройства эмулируют внешнее хранилище на внутреннем хранилище, а Android не может знать, как и как это делается.
Тем не менее мне было интересно, не было ли какой-либо встроенной активности, которая позволяет пользователям загружать или загружать файлы непосредственно из внутреннего хранилища, но без свободного доступа ко всей файловой структуре внутреннего хранилища, например, они имеют внутреннее хранилище.
В крайнем случае, возможно, мое приложение может получать файлы через TCP-соединение и записывать их во внутреннее хранилище. Это беспорядочно, но так пытается найти SD-карту. См. Вопрос Найти местоположение внешней SD-карты.
NEW: Цель этого упражнения - найти все CSV файлы в каталоге на SD-карте, позволить пользователю выбрать один, обработать его и записать выходной файл на SD-карту, Пользователь вводит значение "Вес", которое будет использоваться в вычислениях для обработки файла.
Но, так как Android настолько ненадежен в предоставлении местоположения действительно внешнего хранилища, то есть на SD-карте, я хочу попробовать хранить файлы во внутреннем хранилище, где Android выглядит более честным и надежным в отношении местоположения этого хранения.