タグ付けされた質問 「android-bluetooth」

5
Android 4.3 Bluetooth Low Energyが不安定
現在、Bluetooth Low Energyを使用するアプリケーションを開発しています(Nexus 4でテスト中)。Android 4.3で公式のBLE APIを使い始めた後、初めてデバイスを接続した後、そのデバイスまたは他のデバイスに正常に接続/通信することができないことに気付きました。 ここのガイドに従って、問題なくデバイスに接続し、サービスと特性をスキャンし、通知の読み取り/書き込み/受信を行うことができます。ただし、切断して再接続した後、サービス/特性をスキャンしたり、読み取り/書き込みを完了したりできないことがあります。これがなぜ起こっているのかを示すログに何も見つかりません。 これが発生したら、アプリケーションをアンインストールし、Bluetoothを無効にして、電話が再稼働する前に再起動する必要があります。 デバイスが切断されているときはいつでも、必ずBluetoothGattオブジェクトでclose()を呼び出し、それをnullに設定します。洞察はありますか? 編集: ログダンプ:これらのログについて、私は自分の電話をルート化し、/ etc / bluetooth / bt_stack.conf内の関連アイテムのトレースレベルを上げました 接続の成功 -電話を再起動してアプリをインストールした後の最初の試行。接続、すべてのサービス/特性の検出、読み取り/書き込みができます。 失敗した試行1-これは、上記の正常な接続から切断した後の次の試行です。特性を見つけることができたようですが、最初の読み取り試行でnull値が返され、その後すぐに切断されました。 失敗した試み2-サービス/特性を発見することさえできない例。 編集2: 接続しようとしているデバイスは、TIのCC2541チップに基づいています。私はTI SensorTag(これもCC2541に基づく)を入手して遊んでみたところ、TIが昨日、SensorTagのAndroidアプリをリリースしたことを発見しました。ただし、このアプリには同じ問題があります。これを他の2つのNexus 4でテストしましたが、同じ結果が得られました。SensorTagへの接続は1回目または2回目は成功していますが、(ログによると)その後のサービスの検出に失敗し、あらゆる種類のクラッシュを引き起こしています。この特定のチップに問題があるのか​​と思い始めています。

7
Bluetoothデバイスが接続されているかどうかをプログラムで確認するにはどうすればよいですか?
ペアリングされたデバイスのリストを取得する方法を理解していますが、それらが接続されているかどうかを確認するにはどうすればよいですか? それらが私の電話のBluetoothデバイスリストにリストされているのを見て、それらの接続ステータスを示しているので、それは可能であるに違いありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.