我正在使用運行Android 4.3的三星Galaxy S4 我想轉換在Android 4.2.2上運行在三星LEB API上的應用程序。 我可以發現並連接(connectGatt
)到外設,併成功運行所有「客戶端」代碼,前提是我不嘗試作爲服務器連接。Android 4.3 LE藍牙客戶端服務器衝突
每當我連接
mBluetoothGattServer = mBluetoothManager.openGattServer(this, mGattServerCallbacks);
的logcat中的表明,隨着BluetoothGatt停止通信。
在發現所有Gatt服務後,我試過openGattServer
。我試圖addServices
在GattServerCallback
onConnectionStateChange
。代碼運行,但我沒有得到onServiceAdded回調
我的應用程序中的「gatt客戶端」和「gatt服務器」代碼都無法運行。
我確實得到了onConnectionStateChange
這兩個回調。
如何,何時和何地(MainActivity
或BLEService
)能否實例化mBluetoothGattServer
?
是否記錄在某處?用一些示例代碼?
我的問題的第一部分暫時解決。我開始了一個新線程,增加了一秒延遲,然後調用openGattServer。我的「客戶端」代碼現在可以正常工作。 (我對此並不滿意 - 這是一次嘗試,因挫折而產生 - 如果我能得到服務器代碼,我可以嘗試使用一個隊列)。
我確實得到GattServerCallback
爲onConnectionStateChange
。
但是,我似乎還沒有運行任何「服務器」代碼。
有沒有更新?我遇到了與Nexus 9一起開發的同樣的問題,已經過去了一年多 –