問題タブ [android-ble]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1322 参照

android - Android BLE は一度に複数のデバイスに接続しています

意図的に複数のデバイスに接続する方法について多くの質問を見てきました。しかし、私の状況では、1 つのハードウェア デバイスにのみ接続しようとしています。

同じことをするはずの 2 つのハードウェア デバイスがあります。BLE 経由でアプリに接続すると、単色に変わる LED が表示されます。これは、デバイスが 1 つしかオンになっていない場合でも、すべて正常に動作します。ただし、2 つのデバイスの電源を入れてから、1 つだけに接続しようとすると. 両方のデバイスの LED が点灯します。接続するつもりがなかったものから着信データを取得していないようですが。

端末のせいではないと思います。iOSではこの問題が発生していないためです。電話は、以前に接続したデバイスをどこかに記憶している可能性があると思いますか?

すみません、これはたくさんのコードです。でも、このクラス全体を持つことが重要だと感じています。どんな助けでも大歓迎です。

アップデート

Galaxy タブレットで遊んでいましたが、問題を再現できませんでした。だから私はそれがデバイスに依存していると思います。この問題は Galaxy S3 で発生します。他のデバイスをまとめてテストしようとしています。

また、私はいくつかの新しいデバイスを手に入れることができました。そのデバイスが以前に電話に接続されたことがない場合 (処女デバイス)、そのデバイスは混同されず、接続されていないときに接続されていると見なされるようです。そのため、検索すると表示されますが、実際に接続するまで、私が接続しているとは決して考えません。その後、私が話していないのに話しかけようとしていると半分の確率で考えます。それが理にかなっていることを願っています。これは、電話が何らかの形で古いデバイスをキャッシュしているという理論を裏付けています. アプリをアンインストールして再インストールして、未使用のデバイスを使用した場合と同じ効果があるかどうかを確認してみましたが、アプリは関係ないようです。アプリの新規インストールを行った場合でも、デバイスが電話に導入された後も、デバイスは接続されます (想定されていない場合)。

0 投票する
1 に答える
593 参照

android - Android: BLE デバイスがパケットを送信している時間が遅く、一度に最大 20 バイトしか取得できない

健康アプリを開発しているのでBLEデバイス(ハードウェア)を使用します。

  1. BLE デバイスからは 1 パケットで 25 バイトを送信しますが、モバイル (Android) 側では 20 バイトを受信します。(私はこのリンクを参照しています)
  2. 各パケットを受信すると、確認応答を BLE デバイスに送信します。しかし、このプロセスは非常に遅いです。特定の時間にパケットを取得できません。
  3. 1 秒間に 500 パケットが必要です。ただし、1 秒間に 10 パケットしか取得できません。
  4. 主な問題は、要件に従ってパケットを取得できないことです。

それで、BLEは私の要件と同じくらい速くパケットを送信していますか、そうでない場合は再びBluetoothを使用していますか?

BLEからデータをより速く取得するためのチュートリアルを提案してください

0 投票する
0 に答える
43 参照

bluetooth - gatt.disconnect() はホストで開始されますが、アプリでは開始されません

私はこの問題で頭を悩ませてきました....

gatt.write コマンドをリモート デバイスに送信すると、gatt が常にアプリから切断されるため、応答が返される場合と返されない場合があります。(この値を書き込むために nrf アプリを使用する場合、切断されません)

btsnoop_hci.log を使用して WireShark の問題を調べると、ホストが切断を開始していることがわかりますが、アプリが送信していません!!! 可能なすべての切断でデバッガーを使用しました。

ログ出力を添付しています: ここに画像の説明を入力

0 投票する
1 に答える
500 参照

android - Android BLE 書き込みデータ

私は現在 Android アプリに取り組んでいます。アプリに BLE アプリケーションを追加したいです。つまり、nrf51822/8001 にデータを送信したいと考えています。

簡単な例を教えてください。

ありがとうございました。

0 投票する
1 に答える
709 参照

memory-leaks - onCreate で startLeScan を実行し、onDestroy で stopLeScan を実行するとリークします。

コードを実行し、電話を数回回転させてから、メモリをダンプして分析します。

以下は私のコードです:

Java ヒープ: Java ヒープ

0 投票する
1 に答える
1062 参照

android - Android BLE エラー 0x06 リクエストがサポートされていません

BLE デバイスへの接続中にアプリに問題が発生しました。アプリが接続を試行するたびに、OnConnectionStateChange() メソッドでエラー コード 0x0006 (リクエストはサポートされていません) を取得します。Bluetooth のオフ/オンを試しましたが、それでも同じエラーが発生します。

LG D410 (Android 5.0.2) でこの問題に直面しています。LG の電話を 5.0.2 にアップグレードした後、アプリでこのエラーが発生し始めました。私のアプリは、Samsung Galaxy S4(Android 5.1)、Nexus 5(Android 6.0) で正常に動作しています。

このエラーが発生するのはなぜですか? それを修正するために何ができますか?

エラーのログは次のとおりです。

02-26 05:30:53.919 D/MyBluetoothClass-1392940(21607): trying to connect with address: 78:A5:04:86:D4:16 02-26 05:30:53.944 D/MyBluetoothClass-1392940(21607): Create a new GATT connection. 02-26 05:30:53.945 D/BluetoothGatt(21607): connect() - device: 78:A5:04:86:D4:16, auto: true 02-26 05:30:53.945 D/BluetoothGatt(21607): registerApp() 02-26 05:30:53.945 D/BluetoothGatt(21607): registerApp() - UUID=a81c9b62-f822-4e42-9af0-752a8eab82a1 02-26 05:30:53.947 D/BluetoothGatt(21607): onClientRegistered() - status=0 clientIf=5 02-26 05:30:53.947 D/MyBluetoothClass-1392940(21607): Connection attempt started; results reported asynchronously 02-26 05:30:53.947 D/BluetoothGatt(21607): refresh() - device: 78:A5:04:86:D4:16 02-26 05:30:53.950 D/BluetoothGatt(21607): onClientConnectionState() - status=6 clientIf=5 device=78:A5:04:86:D4:16 02-26 05:30:53.951 D/MyBTGattCallback(21607): onConnectionStateChange, newState: 0 02-26 05:30:53.951 E/MyBTGattCallback(21607): onConnectionStateChange status 0006 desc Req not supported