2010-09-01 85 views
1

我正在開發一個用作藍牙外部設備(通信由外部設備啓動)的藍牙服務器的應用程序。從藍牙服務,我部署一個具體的服務名稱(「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。

有誰知道可能是什麼問題?

在此先感謝。

回答

1

也許問題與android 2.1有關。用'PWAccessP'作爲服務名創建新服務是沒有問題的。 也許你應該嘗試使用android 2.2設備。

只是爲了讓你知道,PWAccessP設備將存儲來自前面連接的RFCOMM通道號,並使用該號碼連接到SPP服務器設備。所以如果您的Android SPP應用程序重新啓動並註冊一個新的RFCOMM chanel編號,連接將失敗,並且PWAccess設備將再次重新啓動查詢過程。這是設備上的問題。正確的,它應該在進行RFCOMM連接之前先執行SDP查詢,但它沒有。