PhoneGap / Cordova BlackBerry FileSystem.root gibt immer eine SD-Karte zurück?

8

Ich habe zwei Anwendungen, die ich auf einen BlackBerry lade, eine ist eine native Anwendung, die andere ist eine PhoneGap / Cordova-basierte Anwendung.

Diese beiden Anwendungen teilen sich eine Einstellungsdatei: file:///store/home/user/myfile.txt

Um über Cordova auf diese Datei zuzugreifen, rufe ich:

fileSystem.root.getFile("home/user/myfile.txt", null, gotFileEntry, fail);

Bei einigen Geräten gibt fileSystem.root jedoch das SDCard-Verzeichnis zurück, nicht den internen Speicher, in dem die Datei gespeichert ist, daher erhalte ich einen FileNotFound -Fehler.

Ich habe versucht, fileSystem.root.getParent(gotParent, fail); aufzurufen, in der Hoffnung, die Wurzel des Dateisystems zu bekommen, und dann die Datei aus dem internen Speicher zu holen:

parentDir.getFile("store/home/user/myfile.txt", null, gotFileEntry, fail);

Aber das funktioniert auch nicht, ich erhalte immer noch eine Datei nicht gefunden Fehler.

Wie kann ich mit PhoneGap / Cordova jedes Mal das Stammverzeichnis des internen Speichers abrufen?

    
Petey B 01.12.2012, 21:53
quelle

1 Antwort

4

Welche Version von Cordova verwenden Sie?
Cordova Datei-API wird seit BlackBerry WebWorks (OS 5.0 und höher) unterstützt.

Habe ich recht in der Annahme, dass Sie diese Datei nur lesen (und schreiben) wollen?
Wenn ja, können Sie versuchen, den Cordova File-Reader und den Cordova Datei-Writer .

FileReader

%Vor%

FileWriter

%Vor%

Sonst geben Sie diesem Snippet einen Versuch (Code ist von einem alten Projekt, aber funktionierte zu diesem Zeitpunkt)

%Vor%

Ich hoffe, ich könnte Ihnen helfen, beste Grüße F481

    
F481 07.12.2012, 13:33
quelle