I've written Client Server application for Android mobile and PC using bluetooth connectivity, in which PC acts as a server written using J2SE and Bluecove library, while Android acts as a Client.
And I've also tested my application its working, it can able to connect, send and receive data both ways like a Chat service.
But my problem is, these all working only with Samsung Android Mobiles but not with devices from other Manufacturers. So far I've tested my application using
开发者_运维百科- Samsung GT-S5570
- Samsung Galaxy S2
- HTC Nexus One
- Sony Ericsson Xperia 10i and Server is my Windows 7.
The Client and Server gets connected only in Samsung devices but not with other 2 devices mentioned above. When I try to connect with HTC and Sony Ericsson mobile device just displays unable to connect and also I tried to connect so many times but no success. I don't know what actual problem is.
I developed the Android application from Android Bluetooth Chat Sample Application.
As Per the (Android Documentation) we need to give UUID as follows when we want to connect with Computer but for Mobile we can give our own value. The Value of UUID for computer is,
UUID MY_UUID_SECURE = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
[EDIT]
After some analysis, I found in Samsung Mobiles whenever I try to connect with my PC Application it will initiates pairing (if its not already paired) and will connect with my application on successful pairing, but in other mobiles, its not even initiate pairing. so I just followed following steps,
- I manually paired my mobile and PC using bluetooth settings and tried to connect with my PC Application using above code.
- Coded my mobile application, such a way it initiates pairing (using code of Justin Breitfeller's answer) and connect with my PC Application on successful pairing. (This one successfully initiating the pairing process) But both ways doesn't help me to connect with my application.
Any Ideas, Thanks.
Have you tried the following method to create a socket on those other devices?
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));
I had to to do that on some of my devices to get anything to connect.
精彩评论