请不要将此标记为重复。我已经完成了关于这个主题的所有帖子,但无法解决我的问题。
我在J2ME中有一个应用程序,它使用特定的UUID搜索蓝牙服务:
UUID[] uuidSet = { new UID("100000",true) };
int[] attrSet = {0x0100, 0x0003, 0x0004};
int transID = agent.searchServices(attrSet,uuidSet,remoteDevice,this);
我在VB.NET中使用32feet.NET库创建了一个桌面应用程序,该库创建了一个具有特定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
现在按照规则,为了兼顾GUID / UUID的功能。但是在.NET中,GUID表示为十六进制字符串,而在JAVA中则表示不同。我搜索了很多关于如何同步J2ME和.NET GUID / UUID但无法成功的信息。
答案 0 :(得分:1)
我已经阅读了UUID的j2me实现的源代码,它似乎只是表明你省略了大括号和连字符,即使用:
new UUID("7dc53df5703e49b38670b1c468f47f1f", false)
如果使用true参数,则需要短格式UUID(即8个字符长)
我的原始答案基于J2SE实现,即:
不是字符串中UUID的构造函数:
UUID aUUID = UUID.fromString(“”)
字符串是:
7dc53df5-703e-49b3-8670-b1c468f47f1f
如果你的UUID(即从Guid字符串中删除前导'{'和尾随'}')