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.
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%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.
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
Tags und Links android