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