2017-10-22 1 views
2

In meiner Cordova-App möchte ich in der Lage sein, den Inhalt gängiger Verzeichnisse auf meinem Android-Gerät aufzulisten; zum Beispiel:Zugriff auf Android Environment-Verzeichnisse in Cordova

Documents 
Downloads 
Pictures 

Down in Android Java-Land, sind diese Jungs durch the Environment object ausgesetzt. Da es sich jedoch um plattformspezifische APIs handelt, sind sie nicht Teil des Cordova-Kerns und müssen vielmehr durch Cordova-Plug-ins verfügbar gemacht werden.

Allerdings sehe ich keine Entsprechung für diese in den Verzeichnissen durch die cordova-plugin-file ausgesetzt. Gibt es ein anderes Plugin, das diese aufdeckt? Ich muss sie nur wirklich an window.resolveLocalFileSystemURL() übergeben, um den Dateiinhalt aufzulisten und die Dateien zu lesen.


aktualisieren

Benutzer QuickFix bietet eine Lösung unten - ein Plugin, das die Android-Umgebung Objektverzeichnisse aussetzt. I've also created an enhancement report mit dem cordova-plugin-file Plugin, um diese Verzeichnisse dort hinzuzufügen. Wenn Sie möchten, dass diese Funktion hinzugefügt wird, stimmen Sie auf der Cordova JIRA-Website dafür ab.


aktualisiert 2

veröffentlichte ich auch ein kleines Plugin, das die Verzeichnisse und externe Speicherhilfsmethoden aus dem Environment Objekt npm aussetzt: https://www.npmjs.com/package/cordova-plugin-env. Ich würde immer noch gerne sehen, dass diese zu cordova-plugin-file hinzugefügt werden, aber zumindest ist dies verfügbar, falls jemand anders sie benötigt.

+1

Ich sehe einen Verweis auf Dokumente in der Cordova-Plugin-Datei, die Sie verknüpfen, aber Sie haben Recht, die anderen scheinen nicht ausgesetzt zu sein. Ich denke, es wäre ziemlich einfach, ein Plugin zu erstellen, das die von Ihnen benötigte Umgebung zurückgibt. – QuickFix

+0

@QuickFix - Ja, und der Ordner "Dokumente" scheint der Ordner im Verzeichnis der App zu sein, nicht der allgemeine Ordner "/ Dokumente", den ich bei einigen Android-Varianten gesehen habe. – eb1

+0

haben Sie versucht, Datei: // Speicher/0 als URL für window.resolveLocalFileSystemURL() übergeben? –

Antwort

1

Da ich keine Möglichkeit gefunden habe, diesen Ordnerpfad mit integrierten cordova-Funktionen zu erhalten, habe ich ein kleines kleines Plugin erstellt, mit dem alle Pfade über das Environment-Objekt verfügbar gemacht werden können.

https://github.com/nicolasgrolleau/androidfoldersplugin/

Und das zeigt, wie einfach ein cordova Plugin Aufbau sein kann.

+0

Super! Das funktioniert wunderbar. – eb1

Verwandte Themen