Ich habe eine Anwendung, die auf Standardgeräten mit External storage
Partition oder integrierte/externe SD-Karte funktioniert. Aber kürzlich habe ich zum Testen auf ein Acer-Tablet umgestellt, und alle Dateioperationen sind damit kaputt.Ich kann nicht auf öffentliche Ordner im internen Speicher zugreifen
Das Tablet hat nur Internal storage
, auf dem die öffentlichen Standardverzeichnisse liegen (Download, DCIM, usw.). Ich habe eine Speicherbibliothek, die überprüft, ob External verfügbar ist, wenn nicht - konfiguriert, um Internal zu verwenden. Ich war jedoch völlig außerstande, auf die öffentlichen Verzeichnisse zuzugreifen, mit oder ohne die Bibliothek. Hier meine Eindrücke:
Eine externe Partition erkannt wird,
Environment.getExternalDirectory()
einige öffentliche Ordner zurückkehren, MEDIA_MOUNTED (Lesen/Schreiben) Status, aber ich kann nicht schreiben, lesen, erstellen dir irgendetwas überhaupt (lesen/schreiben Berechtigungen inManifest.xml
richtig eingestellt);/sdcard ist leer, wenn von irgendeinem Ort zugegriffen wird, nicht von einem anderen, einige Voodoo Symlink Magie, ich denke ...Auf der anderen Seite, wenn ich auf die Verwendung der
Internal storage
, kann ich nur Dateien in die Anwendung schreiben Privater Ordner (com/myapp /.../ app_)/SD-Karte ist nicht zugänglich, obwohl es in der internen, praktisch ist.- versucht
Intents
undContentResolvers
zu verwenden, um das Android OS selbst entscheiden zu lassen, wie man Zugriff auf Daten und die öffentlich-internen Verzeichnisse erhält. Selbst wenn es funktionierte, musste ich meine FileUtils und FilePicker vollständig neu implementieren, nur wegen dieses spezifischen Geräts. (Die App hat auf mehreren Tablets, Telefonen, Emulatoren usw. funktioniert.) - von Terminal gibt mir direkter Zugang zu den öffentlich-internen Verzeichnissen;
Android Device Monitor
nicht;
Jede Meinung ist willkommen. Vielen Dank.
https://developer.android.com/training/permissions/requesting.html – 1615903
Vielen Dank, 1615 ...! Das hat das Problem gelöst. – speirs23