设置蓝牙服务名称时的Android问题

问题描述:

我正在开发一个用作蓝牙外部设备(通信由外部设备启动)的蓝牙服务器的应用程序。从蓝牙服务,我部署一个具体的服务名称(“PWAccessP”)这个外部设备的请求,于是我开始用下面的指令将ServerSocket:设置蓝牙服务名称时的Android问题

serversocket = Activa.myBluetoothAdapter.listenUsingRfcommWithServiceRecord("PWAccessP", UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")); 

但是,当一个测试应用程序搜索蓝牙服务用我的手机给我,我得到了以下日志:

search services on 38E7D82E98F8 HTC Desire 
service Unknown found btspp://38E7D82E98F8:22;authenticate=false;encrypt=false;master=false 

“未知”的服务名称,表明所提供的服务的名称是未知的。我检查过这个服务是我正在部署的服务。

我工作的手机是HTC Desire。

有谁知道可能是什么问题?

在此先感谢。

也许问题与android 2.1有关。用'PWAccessP'作为服务名创建新服务是没有问题的。 也许你应该尝试使用android 2.2设备。

只是为了让你知道,PWAccessP设备将存储来自前面连接的RFCOMM通道号,并使用该号码连接到SPP服务器设备。所以如果您的Android SPP应用程序重新启动并注册一个新的RFCOMM chanel编号,连接将失败,并且PWAccess设备将再次重新启动查询过程。这是设备上的问题。正确的,它应该在进行RFCOMM连接之前先执行SDP查询,但它没有。