我正在开发一个应用程序,作为蓝牙外部设备的蓝牙服务器(通信由外部设备启动)。来自蓝牙服务的外部设备请求我正在部署具体的服务名称(“PWAccessP”),所以我通过以下指令启动serversocket:
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
使用“Unknown”作为服务名称,表示所提供服务的名称未知。我已经检查过这个服务是我正在部署的服务。
我正在工作的手机是HTC Desire。
有人知道会出现什么问题吗?
提前致谢。
答案 0 :(得分:1)
也许这个问题与android 2.1有关。使用'PWAccessP'作为服务名称创建新服务没有问题。 也许你应该尝试使用Android 2.2设备。
只是为了提醒您,PWAccessP设备将存储来自以前连接的RFCOMM频道号,并将使用此号码连接到SPP服务器设备。因此,如果您的Android SPP应用程序重新启动并注册新的RFCOMM通道号,连接将失败,并且PWAccess设备将再次重新启动查询过程..这是设备上的问题。在右边,它应该在进行RFCOMM连接之前先执行SDP查询,但它没有。