Как записать файлы на SD-карту (внешнюю / съемную) в приложении на основе Apache Cordova? - PullRequest
0 голосов
/ 18 февраля 2019

Чтобы обеспечить контекст для поставленного мной вопроса, просмотрите эту ссылку .

По сути, я хотел бы знать, ограничен ли я на SD-картесоздавать файлы по фиксированному и предопределенному пути или, наоборот, есть какой-то способ (независимо от того, какой плагин будет использоваться) для создания файлов из этого пути исправления.

Использование плагина cordova-plugin-file невозможносоздавать файлы на SD-карте.Используя плагин cordova.plugins.diagnostic, я обнаружил, что могу создавать файлы по фиксированному и заранее заданному пути.Вот код, используемый для этой цели:

cordova.plugins.diagnostic.getExternalSdCardDetails(onSuccess_getExternalSdCardDetails, onError_getExternalSdCardDetails);

onSuccess_getExternalSdCardDetails : function(entryArray) {
    console.log("entryArray.length:" + entryArray.length);

        for (i = 0; i < entryArray.length; i++) {
            if (entryArray[i].type == "root") {
            sdCardPath = entryArray[i].filePath;
            break;
        }

    console.log("sdCardPath:" + sdCardManager.sdCardPath);
}

Благодаря этому коду мне удалось увидеть детали объектов в entryArray объекте, установленном для функции обратного вызова, вызываемой при вызове cordova.plugins.diagnostic.getExternalSdCardDetails() метод.Это следующие объекты:

entryArray[0]:
    {canWrite:false
    filePath:"file:///storage/9634-B08B"
    freeSpace:10907648000
    path:"/storage/9634-B08B"
    type:"root"
    }

    entryArray[1]:
    {canWrite:true
    filePath:"file:///storage/9634-B08B/Android/data/es. ... .myappName/files"
    freeSpace:10907648000
    path:"/storage/9634-B08B/Android/data/es. ... .myAppName/files"
    type:"application"
    }

Я вижу, что мой путь к SD-карте file:///storage/9634-B08B, и это хорошо, но меня больше всего удивляет тот факт, что я могу записывать только свои файлы под file:///storage/9634-B08B/Android/data/es. ... .myappName/files path, не имея возможности создавать файлы по этому пути.

Мой вопрос: ограничен ли я созданием файлов по этому пути или, наоборот, есть другой способ (возможно, с использованием другого плагина) для созданияфайлы вне этого пути, но всегда на SD-карте (например, file:///storage/9634-B08B/myFiles).Спасибо.

...