The purpose of this project is to explore Android Bluetooth capabilities and implement a proof of concept for an application that heavily exploits and uses Bluetooth SDP protocol
More specifically, we would like to build a Android application that implements the following functionality:
[login to view URL] Bluetooth
[login to view URL] phone discoverable from other devices (Androids and not Androids): This means that while application is running, if someone performs a bluetooth device search from an other mobile phone next to Android, he should be able to see Android's device name in the list of devices detected
[login to view URL] a Service with a number of Service Records into Service Discovery Database (SDDB). This is a very basic implementation of SDP(Service Descriptor Protocol). More specifically The SDP is a Bluetooth protocol for discovering the services provided by a Bluetooth device.
[login to view URL] nearby devices and retrieve all service records stored in Remote SDDB
Unfortunately, not even in Andoid 2.2 Google Bluetooth SDP is supported. The Google Android API exposes only basic functionality about bluetooth and doesn't give access to things like SDDB, Service Attributes, Service, Service Records etc. Only simple discovery is supported. As our application makes heavy use of SDDB and SDP (Service Descriptor Protocol), we have to work directly with the BlueZ API of Linux. (see [login to view URL]) and it should be developed in C/ C++.
You can get an idea of how the above are implemented by looking into Bluetooth J2ME API (JSR-82). J2ME fully supports the above, so we are looking to do something similar in Android platform by using the respective Android methods
•[login to view URL]
•[login to view URL]
•[login to view URL]
•[login to view URL]
•[login to view URL]
To sum up, we would like to implement the previously described scenaria in a proof-of-concept application running in all android devices. Proof of concept means that we are not looking for any special UI or Business Logic but only a basic implementation of the functionality above.