Reputation: 448
I am writing an app that creates RFCOMM socket with another device (not necessarily an android), and send some data over it. Right now I can connect and transfer data over the socket, but I also want to be able to stop when the device is far and auto start transfer when the device is near again. How do I know if the device is near again? Any pointers will be greatly appreciated. :)
Upvotes: 2
Views: 1612
Reputation: 639
I'm not aware of a nice, easy Java interface to it. You can connect using the NDK and call the hci_read_rssi() function (you need to write a native java call to this). This requires you to have already connected to the device. It will give you a signal strength reading which is relative to your distance, you will need to tweak this of course.
Many Bluetooth devices will allow you to program their operational mode (ref http://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bluetooth-um.pdf). In this mode you can set the device to automatically connect without the need for pairing which could be what you're after. Of course you are limited by the actual device you need to work with.
Good luck!
Upvotes: 3