Где находится расположение файла, созданного Cordova File Plugin?

я использовал Cordova Файл Плагин для создания файлов на мобильном устройстве. Ниже приведен код для создания файлов:

window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) {
   alert(cordova.file.dataDirectory);
   dir.getFile("log.txt", { create: true }, function (file) {
          alert("got the file: "+ file.name + ', ' + file.fullPath);
   });
});

когда я развертываю приложение на своем телефоне android, файл будет успешно создан, но я не могу найти созданный файл на своем устройстве.

хотя cordova.file.dataDirectory указывает file:///data/data/io.cordova.myappId/files/ путь на моем устройстве,io.cordova.myappId папка не существует в data>data путь, но существует в Android>data путь. Кстати, я проверил оба storage>Android>data>io.Cordova.myappId>files & storage>data>data и файл не существует.

это потому, что:

созданный файл находится в другом месте, так где я могу найти это?

или

потому что это личное и мой файловый менеджер не имеет доступа к нему, так как я могу изменить разрешения на файл Public?

1 ответов


почему я не могу найти файл на моем устройстве?

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

Внутренняя память: хранить личные данные в памяти устройства.

вы можете сохранять файлы непосредственно на внутренней памяти устройства. От по умолчанию файлы, сохраненные во внутреннем хранилище, являются частными приложения и другие приложения не могут получить к ним доступ (не может пользователь.) Когда пользователь удаляет приложение, эти файлы удаленный.(ссылка)

как создать общедоступный файл?

Итак, чтобы создать файл на моем устройстве, к которому я могу получить доступ с помощью файлового менеджера, я должен использовать один из общедоступных путей варианты типа:externalDataDirectory. Раньше я думал, что это для хранения файлов на внешней SD-карте, которой у меня не было на телефоне, поэтому я не тестировал ее. Но тестируя его сегодня, он создает файл на моем внутреннем хранилище устройств в Android/data/<app-id>/files путь, который является общедоступным, и я могу получить к нему доступ с помощью Диспетчера файлов устройств.

на самом деле термин internal и external вводил меня в заблуждение, пока external storage может быть съемный носитель (например, SD-карта) или внутренний (несъемный) хранение (ссылка).