2016-11-23 15 views
0

アンドロイドデバイス用のBluetoothGattクラスとAPIを使用してアプリケーションを開発しています。アプリケーションには、1つのデバイスを切断して別のBluetoothデバイスに接続できる機能があります。基本的に、ユーザーはアプリ内でデバイスを追加または削除できます。BluetoothGattオブジェクトがビジー状態です

これを実現するには、ユーザーが新しいBLEデバイスを追加するときに、同じBluetoothGattオブジェクトを使用して古いデバイスを最初に切断し、新しいデバイスを接続する必要があります。

接続はきれいですが、そのデバイスの特性を読み始めると、ほとんどの場合、「Bluetoothアドレス」の「接続なし」のようなエラーが表示されます。そして、私がBluetoothGattオブジェクトを調べるとステータスがビジー状態になっています。

私は何が間違っているのか本当にわかりません、私は何をしているのか分かりません。

私はすべてがうまく動作しているよりも、1つのデバイスしか使用していないと言います。

+0

エラーメッセージを出力するlogcat出力を表示できますか? – Emil

+0

遅延返信をおかけして申し訳ありませんが、これはエラーです:11-24 17:40:45.275 11426-11442 /? E/BluetoothRemoteDevices:state12newState0 11-24 17:41:02.421 11426-11442 /? E/BluetoothRemoteDevices:state12newState1 11-24 17:41:15.110 11426-11442 /? E/BluetoothRemoteDevices:state12newState0 11-24 17:41:15.549 11426-11460 /? E/BtGatt.GattService:readCharacteristic() - deviceAddressの接続がありません – coolneo

+0

AndroidのBluetoothで内部エラーが発生しているようです。コードを表示できますか? – Emil

答えて

0

私は、gattクライアントから受信したデータを処理するために、サービスを初期化し、gattクライアントオブジェクトに接続し、同じサービスを使用していました。

gattクライアントをもう一度切断して接続すると、サービスがアンバインドされ、gattクライアントが切断されて閉じられたことが確認されました。新しいデバイス接続のために、私は新しいサービスを作成しました。

これは現在問題なく動作しています。

関連する問題