問題タブ [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 に答える
3560 参照

android - BLE にはどの targetSDK を使用しますか?

Bluetooth Low Energy を搭載したすべてのデバイスで実行される Android アプリを構築しています。つまり、minSDK は 18 です。ただし、どの targetSDK を使用すればよいかわかりません。これには常に最新バージョン(API 22)を使用することをお勧めします。それとも、サポートしているすべての targetSDK を使用してアプリケーションをビルドする必要がありますか。つまり、API 18 を実行するアプリケーションには SDK 18 を使用してビルドし、API 19 を使用するデバイスには SDK 19 を使用してビルドする必要がありますか?

BLE 検出を開始するには、startScan() または startLeScan() のいずれかを使用できるため、混乱しています。Android のドキュメントには、「startLeScan() は API レベル 21 で廃止されました。代わりに startScan() を使用してください」と書かれています。アプリのコンパイルに使用する targetSDK にこれがどのような影響を与えるかはわかりません。SDK 22 でコンパイルして startScan() を使用すると、API 18 を実行しているデバイスでアプリを実行できますか? また、API 18 でコンパイルして startLeScan() を使用すると、API 22 を実行しているデバイスでアプリを実行できますか? それとも、上記のようにサポートするすべての targetSDK を使用してアプリケーションをビルドする必要がありますか?

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

android - セマフォを使用して正しいAndroid ble通信を行うにはどうすればよいですか?

Android アプリと 1 つの周辺機器からの ble 通信に 1 つの疑問があります。このペリフェラルは、特定の特性「A」の通知を介してデータを送信し、別の特定の特性「B」に書き込むことができます。それを行うには、次のようにします。

そのondescriptorwriteが呼び出される前に書き込みを行うと書き込みが失敗するため、セマフォを使用しましたが、この方法でいくつかの通知を失うことができるのではないかと思います..

セマフォは正しい方法で使用されていますか? それとも、私に問題を引き起こす可能性がありますか?

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

android - Android BluetoothGatt が特性通知を受信しない BluetoothGatt#writeDescriptor(des) return false

Bluetooth LE デバイスと通信する必要があるアプリケーションに取り組んでいます。

これは CharacteristicNotification を設定するために使用するコードです

このコードでは「mBluetoothGatt.writeDescriptor(desc);」時々 false を返します。それが BluetoothGatt から通知を受け取ることができない理由です。この問題を解決する方法がわかりません。

この問題は、OS 5.02 の LG G2 と 4.4 でのみ発生しました。問題はそれほど頻繁ではありませんでしたが、更新後は、初回を除いて毎回「false」になっていました。接続後に初めて通知を設定しようとすると、機能し、切断して接続しようとすると、常に False が返されます。再び機能させるには、アプリを強制終了して再起動する必要があります。なぜこれが機能しないのか、誰にもわかりませんか?前もって感謝します

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

android - Bluetooth GATT onConnectionState の変更が Lollipop で機能しない

現在、BLE デバイスに書き込みを行ってビープ音を鳴らすメソッドがあります。私のBluetoothコールバックは次のようになります:

このコードは、Kitkat 以前を実行しているデバイスで完全に機能します。ただし、Lollipop を実行しているデバイスでは、このコードは最初のインスタンスで問題なく動作します。しかし、次のインスタンスから、接続を切断するか閉じて再試行するかに関係なく、機能しません。onConnectionStateChange メソッドでステータス コード 257 が表示され続けます。私の知る限り、Bluetooth GATT メソッドは、kitkat デバイスと Lollipop デバイスの両方で同じです。

驚いたことに、古い BLE API、つまり startLeScan (たとえば - mBluetoothAdapter.startLeScan(mLeScanCallback);) を使用すると、このコードは Lollipop デバイスで正常に動作します。この問題は、新しい BLE API、つまり BluetoothLeScanner ( ) を使用した場合にのみ発生します scanner.startScan(filters, settings, new scancallback());。古い BLE API を使用している Lollipop デバイスではスキャン速度が非常に遅く、使用できません。この問題の解決方法がわかりません。同じ問題に直面して解決策を見つけた人はいますか? どんな助けでも大歓迎です。

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

android - 複数の Textviews で BLE デバイスからのデータを表示するには?

一定の時間間隔の後、最後の 10 個の値を単一の配列としてブロードキャストする湿度センサーがあります。これらの値を 10 で表示したいと思いますTextview

現在のコードではすべての値が 1 つの に表示されますが、TextViewこれを変更するにはどうすればよいですか? どうすれば可能でしょうか?

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

android-5.0-lollipop - Android BLE 特性の読み取り/書き込みは Lollipop では失敗しましたが、Kitkat では機能しました

タイトルによると、ロリポップの下でデータの読み取り/書き込みを正常に行うことができますが、ロリポップでは何度も読み取り/書き込みが失敗します。

これは私がデータの読み取り/書き込みを行う方法です:

ロリポップ デバイスでは、isRead が何度も false になっていますが、ロリポップ以外の OS では完全に動作します。

そのような問題に直面した人はいますか?回答をいただければ幸いです。ありがとう。