12

BLE サーバーを公開する Android アプリケーションがあります。BluetoothGattServer#connectで接続します。それは動作します - 私のアプリはSTATE_CONNECTEDでBluetoothGattServerCallback#onConnectionStateChangeへの呼び出しを取得します。クライアントの操作が完了したら、BluetoothGattServer#cancelConnectionを使用してアプリから切断しようとします。

しかし、 BluetoothGattServerCallback#onConnectionStateChangeへの呼び出しが得られず、BLE クライアントがアドバタイズを開始しないため、接続がまだアクティブであるように見えます (何も接続されていない場合)。

logcat では次のように表示されます:

BluetoothGattServer: cancelConnection() - device: XX:XX:XX:XX:XX:XX

おもしろいのは、BT を完全にオフにするとすぐに、アプリがSTATE_DISCONNECTEDでBluetoothGattServerCallback#onConnectionStateChangeを呼び出すことです。

Google のトラッカーでの同様の問題: 63461および63464

4

3 に答える 3