android - plugin - this file externaldatadirectory



Dov'è la posizione del file creato da Cordova File Plugin? (1)

Ho usato Cordova File Plugin per creare file su dispositivo mobile. Di seguito è riportato il codice per creare i file:

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);
   });
});

Quando distribuisco l'app sul mio telefono Android, il file verrà creato correttamente, ma non riesco a trovare il file creato sul mio dispositivo.

Anche se cordova.file.dataDirectory punta al file:///data/data/io.cordova.myappId/files/ path sul mio dispositivo, la cartella io.cordova.myappId non esiste nel percorso data>data , ma esiste in Android>data percorso Android>data . A proposito, ho controllato sia l' storage>Android>data>io.Cordova.myappId>files e storage>data>data e il file non esiste.

Questo perché:

Il file creato si trova in un altro posto, quindi dove posso trovarlo?

o

Perché è privato e il mio file manager non ha accesso ad esso, quindi come posso modificare l'impostazione delle autorizzazioni per avere un file pubblico?


Perché non riesco a trovare il file sul mio dispositivo?

Il file è stato creato correttamente ma non riesco a trovarlo sul mio dispositivo perché il percorso dataDirectory che indico per creare il file, è un percorso privato e il mio file manager del dispositivo non ha accesso ad esso (base su questa tabella ). In realtà dataDirectory è un'opzione di Internal Storage .

Memoria interna: archivia i dati privati ​​nella memoria del dispositivo.

È possibile salvare i file direttamente nella memoria interna del dispositivo. Per impostazione predefinita, i file salvati nella memoria interna sono privati ​​per l'applicazione e altre applicazioni non possono accedervi (né l'utente può). Quando l'utente disinstalla l'applicazione, questi file vengono rimossi. ( Riferimento )

Come creare un file pubblico?

Quindi, per creare un file sul mio dispositivo che posso accedervi con il file manager, devo usare una delle opzioni del percorso pubblico come: externalDataDirectory . Prima, pensavo che fosse per la memorizzazione di file su una scheda SD esterna che non avevo sul mio telefono, quindi non l'ho provato. Ma testandolo oggi, crea il file sul mio dispositivo di archiviazione interno in Android/data/<app-id>/files percorso dei Android/data/<app-id>/files che è pubblico e posso accedervi con device file manager.

In realtà il termine internal ed external era fuorviante per me mentre external storage può essere un supporto di memorizzazione rimovibile (come una scheda SD) o una memoria interna (non rimovibile) ( riferimento ).





cordova-plugins