- Forum-Beiträge: 53
18.09.2017, 15:26:52 via Website
18.09.2017 15:26:52 via Website
Hallo,
bevor Ihr etwas schreibt, ich habe sehr viel im Netzt und hier geschaut und vieles ausprobiert. Es hat nicht funktioniert, daher stelle ich die Frage.
Es geht darum, ich möchte einen Ordner auf der SD-Karte erstellen.
Ich habe lange gebraucht, um eine Möglichkeit zu finden, den Pfad der ECHTEN SD-Karte zu erhalten.
Bin dann auf folgende Lösung gestoßen:
public static String[] getStorageDirectories(Context pContext)
{
// Final set of paths
final Set rv = new HashSet<>();
//Get primary & secondary external device storage (internal storage & micro SDCARD slot...)
File[] listExternalDirs = ContextCompat.getExternalFilesDirs(pContext, null);
for(int i=0;i<listExternalDirs.length;i++){
if(listExternalDirs[i] != null) {
String path = listExternalDirs[i].getAbsolutePath();
int indexMountRoot = path.indexOf("/Android/data/");
if(indexMountRoot >= 0 && indexMountRoot <= path.length()){
//Get the root path for the external directory
rv.add(path.substring(0, indexMountRoot));
}
}
}
return rv.toArray(new String[rv.size()]);
}
Ich habe Ihn von Stackoverflow übernommen und erhalte zwei Pfade (/storage/emulated/0 und /storage/7EFB...). Der zweite ist meine SD-Karte.
Jetzt habe ich versucht, einen Ordner auf der SD-Karte im "root" zu erstellen. Ich habe verschiedene Pfade ect. probiert, aber es wird kein Ordner erstellt. Das einzige mal, wo es geklappt hat,
war beim files-Ordner innerhalb meiner App (/storage/7EFB.../Android/data/com.meineapp.../files).
Im internen Speicher (/storage/emulated/0) konnte ich einen Ordner im "root" erstellen.
Auf der SD-Karte konnte ich den Ordner bisher nur im Files-Ordner innerhalb meines App-Ordners auf der SD erstellen.
- Ich habe die Permission WRITE_EXTERNEL_STORAGE in der Manifest.
- Ich habe die von Android Studio erstellte App auch aufgerufen, nachdem ich das Gerät vom PC getrennt habe, um die SD-Karte auch sicher "erreichbar" zu machen.
- Ich habe, wie im Netzt hilfreich hingewiesen wurde, im Nachhinein unter Einstellungen -> Apps -> Meine App die Berechtigungen für den Speicher aktiviert.
Alles hat nichts geholfen.
Also noch mal kurz:
Ich kann im internen (emulated) Speicher den Ordner erstellen, auf der SD-Karte konnte ich ihn aber NUR im Files-Ordner meiner App (/storage/7EFB.../Android/data/com.meineapp.../files) erstellen, nirgendwo sonst.
Weiß einer da weiter?
Warum macht Android und die verschiedenen Versionen so viel "misst" mit dem Ansprechen des ECHTEN externen Speichers?
Wie machen es andere Apps?
Ich möchte doch einfach nur die SD-Karte ansprechen und einen Ordner erstellen können.
Ich würd ja zu Not auch den ordner innerhalb des Files-Ordners meiner App erstellen,
aber da kommen Daten rein, die nach unabhängig einer Deinstallation erhalten bleiben sollen.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.