Theo như tôi có thể nói, không có cách nào đơn giản và dễ dàng để thực hiện điều này thông qua các API (mặc dù cần phải có!)
Hai giải pháp mà có thể làm việc (tùy thuộc vào bối cảnh sử dụng; người đầu tiên dường như nói chung tốt hơn):
Khi khởi động, bạn kiểm tra nếu có SharedPreference
(ví dụ) "bluetoothLocation". Nếu không tìm thấy, ứng dụng sẽ tìm kiếm (a) FS hoặc (b) FS bắt nguồn từ/mnt/(có thể (b) là tốt hơn) cho đến khi tìm thấy Tệp sao cho:
name.equals("bluetooth")
và isDirectory()
.
Sau đó, lưu đường dẫn và bạn sẽ đi đến đó. Cách khác (tùy thuộc vào ngữ cảnh) bạn có thể,
- Lần đầu tiên thiết bị bên ngoài của bạn kết nối, nó sẽ gửi tệp có một số tên tệp mã hóa dài, cứng (ví dụ:
greoermmvemoper190erjvw0j9e2.txt
). Sau đó, ứng dụng của bạn tìm kiếm thông qua FS cho đến khi tìm thấy tệp có tên được mã hóa và chia sẻ này và lưu vị trí đó.
Đây là cả hai cách xa hoàn hảo và khả năng tồn tại của chúng phụ thuộc vào ngữ cảnh của bạn. Tôi nghĩ tôi sẽ ném nó ra khỏi đó. Hy vọng nó giúp.