Wie kann ich den richtigen externen Speicher auf Samsung und allen anderen Geräten erhalten?

7

Die offizielle Methode Environment.getExternalStorageDirectory () scheint auf Samsung-Geräten nicht zu funktionieren ...

Es gibt "/ sdcard /" zurück, aber nicht den echten Pfad "/ sdcard / external_sd /", Sie könnten auf den folgenden Beitrag verweisen

Android SD-Karte Eigenschaften auf Samsung Galaxy

Gibt es eine andere Methode, um den externen realen Speicherpfad zu erkennen und für alle Geräte geeignet? oder lehre mich einfach, wie ich dieses Problem vermeiden kann?

Danke.

    
dong221 02.04.2011, 15:38
quelle

5 Antworten

7

Könnten Sie etwas nicht versuchen wie:

%Vor%     
Blundell 02.04.2011, 15:55
quelle
9

Ich hoffe, der folgende Code ist hilfreich. Dieser Code findet den Pfad des entfernbaren externen Speichers (z. B. SD-Karte).

%Vor%     
nandol 08.05.2012 02:19
quelle
4

Um alle externen Speicherpfade zu erhalten, können Sie ContextCompat.getExternalFilesDirs () :

%Vor%

Der erste ist der primäre externe Speicher und der Rest sind echte SD-Karten-Pfade.

Der Grund für das mehrfache ".getParentFile ()" ist, einen anderen Ordner hochzugehen, da der ursprüngliche Pfad

ist %Vor%     
android developer 01.09.2014 21:44
quelle
0
  

Gibt es eine andere Methode, um den externen realen Speicherpfad zu erkennen und für alle Geräte geeignet?

Nein. Android unterstützt einen "externen Speicherpfad" über das SDK. Bei diesen Samsung-Geräten gibt es mehr als einen "externen Speicher". Es gibt keine von SDK bereitgestellte Methode, um auf andere Speicherpfade zuzugreifen.

    
CommonsWare 02.04.2011 17:21
quelle
0

Wenn Sie eine Anwendung speziell für Samsung Galaxie machen, ist die von Blundell angebotene Lösung die beste Lösung. Sie müssen jedoch sicherstellen, dass alle Samsung Galaxy Tablets / Handheld-Geräte eine gemeinsame Verzeichnisstruktur teilen. Zum Beispiel können Sie in bestimmten Samsung-Geräten (mit niedrigeren Speicherspezifikationen) möglicherweise / mnt / sdcard / external_sd nicht finden; Stattdessen müssten Sie / data als internen Speicher und / mnt / sdcard als externen Speicher betrachten. Darüber hinaus ist nicht garantiert, dass alle Samsung-Geräte dieselbe gemeinsame Verzeichnisstruktur haben, die Sie hartcodieren. Stellen Sie sicher, dass Sie die Verzeichnisstrukturen verschiedener Samsung-Geräte überprüfen. Wenn Sie eine universelle Anwendung (für alle Android-Geräte) machen, befürchte ich, dass dieser Ansatz nicht funktionieren wird, es sei denn, Android stellt eine API bereit oder der Hersteller kommt mit einer eigenen API wie Motorola External Storage API, die Sie hier finden können href="http://developer.motorola.com/docstools/library/motorola-external-storage-api/"> Ссылка . Viel Glück

    
Farhan 31.08.2011 08:48
quelle

Tags und Links