2011-02-23 13 views
9

Nuestra aplicación necesita capturar ciertos archivos de la bandeja de entrada de Bluetooth una vez que se presionan desde un dispositivo de hardware externo. ¿Hay alguna manera de encontrar programáticamente la ubicación de la carpeta Bluetooth? En el Galaxy es /mnt/sdcard/bluetooth, y en el deseo parece ser /mnt/sdcard/downloads/bluetooth.Buscar la bandeja de entrada de Bluetooth

Gracias!

Respuesta

1

Por lo que yo puedo decir, no hay manera simple y fácil de hacer esto a través de las API (aunque debería ser!)

Dos soluciones que podrían funcionar (dependiendo del contexto de uso, el primero parece en general, mejor):

  1. En la puesta en marcha, que APP comprueba si hay un SharedPreference (por ejemplo) "bluetoothLocation". Si no lo encuentra, las búsquedas de aplicaciones ya sea (a) el FS o (b) el FS arraigadas en/mnt/(probablemente (b) es mejor) hasta que encuentra un archivo de tal manera que:

    • El name.equals("bluetooth") y isDirectory().

Luego se guarda el camino, y ahí lo tienes. Como alternativa (dependiendo del contexto) se pudiera,

  1. La primera vez que el dispositivo externo se conecta, envía un archivo con un poco de tiempo, nombre de archivo no modificable (por ejemplo greoermmvemoper190erjvw0j9e2.txt). Luego, su aplicación busca a través del FS hasta que encuentre un archivo con este nombre compartido y codificado, y guarda esa ubicación.

Ambos están lejos de ser perfectos, y su viabilidad depende de su contexto. Pensé que lo tiraría allí. Espero eso ayude.

Cuestiones relacionadas