2016-06-14 2 views
1

Ich benutze Android Storage Access Framework API für den Zugriff auf ein externes Massenspeicher-USB-Laufwerk in Android eingesteckt.Android Storage Access FrameWork mit benutzerdefinierten Dateisystem

Meine Fragen ist, was ist, wenn das USB-Laufwerk ein Dateiformat enthält, das von Android nicht verstanden wird, kann ich noch auf die Dateien auf dem externen USB-Laufwerk zugreifen?

Kann ich meine eigenen Low-Level-Funktionen schreiben, um auf ein Laufwerk zugreifen zu können, dessen Dateiformat nicht bekannt ist für Android Storage Access FrameWork?

Lassen Sie mich sagen, ich erstelle mein eigenes Laufwerk Format aus Sicherheitsgründen, wie wird Android präsentiert das Dialogfeld zeigt den Benutzer den Inhalt der Dateien, so dass sie eine Datei auswählen können die App Erlaubnis zu dieser Datei Zugriff es kennt das Dateiformat nicht von der Fahrt?

Dank

Antwort

0

was, wenn das USB-Laufwerk ein Dateiformat enthält, wird nicht von android verstanden, werde ich die Dateien zugreifen, auf dem externen USB-Laufwerk noch in der Lage sein?

Ja.

Kann ich meine eigenen Low-Level-Funktionen schreiben, um auf ein Laufwerk zugreifen zu können, dessen Dateiformat für Android Storage Access FrameWork nicht bekannt ist?

Sie werden Ihre eigenen USB-Treiber schreiben müssen das niedrige Niveau mit USB APIs (wie Sie gesagt haben, Android nicht weiß, wie Ihr USB-Laufwerk lesen)

Lets sagen, dass ich meine eigene Gruppe gründen Laufwerk Format aus Sicherheitsgründen, wie wird Android präsentiert das Dialogfeld zeigt den Benutzer die Dateien Inhalte, so dass sie eine Datei auswählen können, die die App Erlaubnis, auf diese Datei zugreifen, es kennt nicht das Dateiformat des Laufwerks?

Nichts in dem DocumentsProvider API steuert, wie Sie Ihre Dateien von der Festplatte gelesen werden (wenn sie auch von der Festplatte gelesen werden - in vielen Fällen, wie mit dem Google Drive DocumentsProvider, werden sie von einem entfernten Server lesen). Solange die API durch die Rückgabe eines Cursor für den Stamm von queryRoots(), Cursor mit den richtigen Feldern von queryDocument() für ein einzelnes Dokument und Cursor mit einer Liste von Dokumenten aus queryChildDocuments() erfüllen, wird das Storage Access Framework Ihre Dateien korrekt auflisten.

Stellen Sie sicher, dass Sie einen gültigen ParcelFileDescriptor bis openDocument() angeben, der Lese-/Schreibzugriff auf Ihr benutzerdefiniertes Dateiformatsystem ermöglicht.

+0

Vielen Dank für Ihre Antworten und Ihre Hilfe. Aber Sie sagen, dass Android 6.0.1 und Storage Access FrameWork Apps ihren eigenen Low-Level-USB (builk Transfer usw.) schreiben können, um auf das USB-Laufwerk zuzugreifen, das direkt mit dem Android-Gerät verbunden ist? Ich dachte, Low-Level-USB-Funktionen wurden blockiert und wir können nur das Storage-Access-Framework verwenden, um eine URI zum USB-Dokument zu bekommen, und alles wird über die URI zugegriffen? – programmer3

+0

Ich dachte, um auf eine Datei auf dem USB-Laufwerk an Android angeschlossen zugreifen, zunächst das Android-Betriebssystem wird ein Dialogfeld angezeigt (für sich) an den Benutzer, wenn der Benutzer eine Datei wählt, dann gewährt das Android-Betriebssystem Zugriff darauf Datei nur zur App. Wenn also das Android OS die Dateinamen vom USB-Laufwerk nicht lesen kann (vielleicht weil das gesamte USB-Laufwerk verschlüsselt wurde), wie präsentiert es dann die Dateinamen für den Benutzer?Vielleicht habe ich es nicht richtig gelesen, aber was du sagst macht Sinn, aber ich bin wirklich neu in all dem. – programmer3

+0

Sie haben einen Bereich ausgewählt, in den fast kein Entwickler jemals geht, und es gibt wenig Dokumentation oder Unterstützung. Der springende Punkt des Storage Access Framework ist die Zusammenfassung * jedes * Gerätes oder Dateispeichers. Das Framework selbst verwendet dies, um Zugriff auf SD-Karten und angeschlossene USB-Speichergeräte bereitzustellen (da kein direkter Dateizugriff auf diese Speicherorte möglich ist). Das ist völlig unabhängig von der Bereitstellung eigener Treiber für ein benutzerdefiniertes USB-Gerät. – ianhanniballake

Verwandte Themen