на моем устройстве (и предположительно все устройства Android?) GetHomePath неправильно дает мне/storage/emulated/0/... тогда как мне нужно/storage/sdcard0/..., чтобы добраться до хранилища, видимого в проводнике Windows, через USB.
поэтому полный путь к моим файлам может быть «/storage/sdcard0/Android/data/com.embarcadero.(my название приложения)/файлы /»
Предположительно, если у вас есть плагин в SD-карте это может быть sdcard1 или что-то еще.
Вы можете просмотреть содержимое вашей папки для хранения устройства с кодом, как этот
P := '/storage/';
if (FindFirst(P + '*', faAnyFile, Sr) = 0) then
repeat
Memo1.Lines.Add(Sr.Name);
until (FindNext(Sr) <> 0);
FindClose(Sr);
На моем устройстве это дает мне:
sdcard0 USB эмулировать
затем изменить S, когда вы хотите изучить подпапки
Обратите внимание, что папка с файлами очищается каждый раз, когда вы recom свай и развертывание.
Когда вы говорите локально, что вы имеете в виду? SDCard (внутренние/внешние?), Частные данные? Другие? Вы не можете создать файл в '/' без root и разрешений. – Simon
Я надеялся, что могу просто написать в «текущем каталоге» внутреннего хранилища (где бы это ни было). Обратите внимание, что я не указал обратную косую черту перед именем файла. Я удивлен, что кажется, что он пытается написать в корне. – Reinier
Я также пробовал этот путь: «/Android/data/com.embarcadero.TestLocalStorage/files/» (http://developer.android.com/guide/topics/data/data-storage.html, кажется, указывает, что это может быть надлежащим местом для внутреннего хранилища). Но получил тот же результат – Reinier