Unsere App muss bestimmte Dateien aus dem Bluetooth-Posteingang abrufen, nachdem sie von einem externen Hardwaregerät übertragen wurden. Gibt es eine Möglichkeit, den Speicherort des Bluetooth-Ordners programmgesteuert zu finden? Auf der Galaxy ist es /mnt/sdcard/bluetooth
und auf dem Desire scheint es /mnt/sdcard/downloads/bluetooth
zu sein.
Danke!
Soweit ich das beurteilen kann, gibt es keinen einfachen und einfachen Weg, dies über die APIs zu tun (obwohl es sein sollte!)
Zwei Lösungen, die funktionieren könnten (abhängig vom Verwendungskontext; der erste scheint im Allgemeinen besser zu sein):
Beim Start prüft Ihre App, ob ein SharedPreference
(z. B.) "bluetoothLocation" vorhanden ist. Wenn es nicht gefunden wird, sucht die App entweder (a) die FS oder (b) die FS unter / mnt / (wahrscheinlich (b) ist besser), bis sie eine Datei findet, die:
name.equals("bluetooth")
und isDirectory()
. Dann speichert es den Pfad, und da gehst du. Alternativ können Sie (je nach Kontext) auch
greoermmvemoper190erjvw0j9e2.txt
). Dann durchsucht Ihre App den FS, bis sie eine Datei mit diesem gemeinsamen, fest codierten Namen findet, und speichert diesen Speicherort. Diese sind bei weitem nicht perfekt, und ihre Lebensfähigkeit hängt von Ihrem Kontext ab. Ich dachte, ich würde es da rauswerfen. Hoffe es hilft.