Please don't mark this as duplicate. I have gone through all posts on this topic but couldn't solve my problem.
I have an application in J2ME that searches for bluetooth services with a particular UUID:
UUID[] uuidSet = { new UID("100000",true) };
int[] attrSet = {0x0100, 0x0003, 0x0004};
int transID = agent.searchServices(attrSet,uuidSet,remoteDevice,this);
I have a desktop application in VB.NET using 32feet.NET library that creates a new bluetooth service with a particular GUID.
Sub startBluetoothListener()
Dim lsnr As New BluetoothListener(MyConsts.MyServiceUuid, record)
lsnr.Start()
Dim conn As New BluetoothClient
Dim peerStream As Stream
End Sub
Class MyConsts
Public Shared ReadOnly MyServiceUuid As Guid _
= New Guid("{7dc53df5-703e-49b3-8670-b1c468f47f1f}")
End Class
Now as per rules, in order to function both GUID/UUID should match. However in .NET the GUID is represented as a hexadecimal string and in JAVA it's different. I googled a lot about how to sync the J2ME and .NET GUID/UUID but could not succeed.
I've read the source for the j2me implementation of UUID, and it simply seems to indicate that you omit the braces and the hyphens i.e. use:
if you use the true parameter, it expects a short-form UUID (i.e. 8 characters long)
My original answer was based on the J2SE implementation, viz: