Suchen Sie den Bluetooth-Eingang

9

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!

    
user612460 23.02.2011, 23:48
quelle

1 Antwort

1

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):

  1. 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:

    • Die name.equals("bluetooth") und isDirectory() .

Dann speichert es den Pfad, und da gehst du. Alternativ können Sie (je nach Kontext) auch

  1. Wenn Ihr externes Gerät zum ersten Mal eine Verbindung herstellt, sendet es eine Datei mit einem langen, fest codierten Dateinamen (z. B. 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.

    
mfrankli 24.02.2012 23:07
quelle

Tags und Links