UUID和GUID的问题

时间:2011-06-10 15:44:18

标签: c# java-me bluetooth guid uuid

请不要将此标记为重复。我已经完成了关于这个主题的所有帖子,但无法解决我的问题。

我在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但无法成功的信息。

1 个答案:

答案 0 :(得分:1)

我已经阅读了UUID的j2me实现的源代码,它似乎只是表明你省略了大括号和连字符,即使用:

new UUID("7dc53df5703e49b38670b1c468f47f1f", false)

如果使用true参数,则需要短格式UUID(即8个字符长)

我的原始答案基于J2SE实现,即:

  

不是字符串中UUID的构造函数:

     

UUID aUUID = UUID.fromString(“”)

     

字符串是:

     

7dc53df5-703e-49b3-8670-b1c468f47f1f

     

如果你的UUID(即从Guid字符串中删除前导'{'和尾随'}')