2016-08-01 17 views
0

Bluetoothを介してデバイスに接続しようとしています。私が検索ボタンを押すと、すべてが良いです。また、[検出されたデバイス]リストからデバイスをクリックすると、正しくペア設定されます。しかし、ペアリングされたデバイスリストから目的のデバイスをクリックして接続すると、最初は接続されていますが、5秒後に接続が解除され、ペア状態が維持されます。コードは次のとおりです。hereAndroid Bluetoothプログラム間で2つのデバイス間の接続が失敗する

答えて

0

は、まずインクルードが接続されているが、〜5秒後に、彼らは切断し 滞在がペア。

お使いのデバイスがBluetooth低エネルギーデバイスの場合は、それはBluetooth LEの設計どおりです。従来のBluetoothとは異なり、Bluetooth LEは非常に短時間の接続を維持します。データ交換が完了した後、すぐに現在の接続が終了します。次回に交換するデータがある場合には、接続が再度確立されます。

問題がBluetoothデザインによって引き起こされていない場合は、コード自体に原因があるはずです。 あなたの投稿には、次の情報が表示されます:

アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。これが意味することは、あなたのコードを処理するために時間がかかるし、フレームはそれのためにスキップされている、それ多分ので、あなたのアプリケーションやDBアクセスや他の心臓部で行っているいくつかの重い処理のことである

スレッドをしばらく停止させるもの

修正方法?

メインUIスレッドとは別のスレッドで、どのように小さくても大きくても、すべての処理を行うのが最善の方法です。 包括的な説明はhereです。

+0

しばらく接続されている間は何もできません。私のアプリはフリーズします... –

+0

@ΧρήστοςΓεωργακίδηςあなたのアプリは、メインスレッドであまりにも多くの作業をするためにフリーズします。私は答えを更新し、それがあなたのために役立つことを願っています。 –

+0

私は最初にその問題に気付かなかった。私は、最初からフラグメントのコードを書き直して解決します。しかし、まだ私の主な問題は残っています...それは接続しません。デバッガでいくつかのブレークポイントを追加して実行すると、自分のプログラムが自分のコードを実行していないことがわかりました。私のonItemClickListenerを挿入してください。それはステップオーバー。何か案が? –

関連する問題