問題タブ [android-bluetooth]

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 投票する
1 に答える
1076 参照

android - Android で Bluetooth デバイスを接続する方法

android-sdks\samples\android-18\legacy\BluetoothLeGattにある Android Sample を参照・模倣してアプリを開発しています。

デバイスをスキャンできます。しかし、Bluetooth デバイスを接続しようとすると、アプリがクラッシュします。

これは、Bluetooth デバイスを接続しようとしたときにアプリがクラッシュしたログです。

このログのエラーがわかりません??

誰かがエラーとその解決方法を教えてくれませんか???

どうもありがとう!!!

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

java - Javaで不連続にファイルに書き込む最良の方法は何ですか?

Bluetooth経由でファイルを転送するAndroidアプリをプログラミングしています。

私の質問は、ファイルを不連続に書き込む最良の方法は何かということです。つまり、データが Bluetooth 経由でチャンクで送信されている間、ファイルは外部ストレージ ディレクトリに書き込まれます。書き込みは明らかに速くなり、2 つのチャンクを受信する間に一時停止します。

RandomAccessFile と FileChannel はそのタスクに対して効率的ですか?

前もって感謝します。

PS: ファイルサイズは約10MBです

0 投票する
3 に答える
1089 参照

java - Bluetooth デバイスの接続の問題

2つのデバイスがBluetooth経由で接続されているかどうかを確認しているAndroidアプリを開発しています

以下のコードを使用して、ブロードキャスト レシーバーを登録しています。

BroadcastReceiver は次のようになります。

これがどのように機能していません。どこが間違っているのかわかりません。助けてください!ありがとう!

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

android - BluetoothServerSocket.accept() はどのように機能しますか?

だから、自分のコンセプトを明確にしたかっただけです。正確にはどのように機能しBluetoothServerSocket.accept()ますか?Android のドキュメントには CONNECTED BluetoothSocket を返すと記載されていますが、接続する前に何らかの認証が行われていませんか?

また、現在、1 つのデバイスがホストとして機能し、リッスンしている BluetoothServerSocket を保持するアプリケーションに取り組んでいますが、最初にすべての着信クライアント接続を一覧表示し、ユーザーが接続するデバイスを選択できるようにしたいと考えています。それは可能ですか?はいの場合、どのように行うことができますか?

前もって感謝します。:)

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

android - Android Bluetooth バックグラウンド リスナー

Bluetoothチャットを使用してAndroidアプリケーションを開発しています。2 台の電話で Bluetooth チャットを正常に実装しました。しかし、私の問題は、チャット アクティビティから次のアクティビティに変更すると、接続が失われ、2 番目のアクティビティからメッセージを送信できないことです。どうすれば接続を維持できますか?
つまり、アプリ全体で接続を維持したいということです。ユーザーが終了ボタンを押すたびに、接続のみが切断されます。あるアクティビティからメッセージを送信し、別のアクティビティから受信したいのはこれです。コードでバックグラウンド サービスを作成できません。
コードを分割するのを手伝ってくれる人はいますか? ある電話からメッセージを受け取った場合、メッセージを処理して結果を送り返したいのですが、その処理は次のアクティビティで行われます。これは私のアプリの動作です。

0 投票する
5 に答える
24254 参照

android - Android 4.3: BLE: startLeScan() のフィルタリング動作

私は BluetoothLE センサー デバイスに取り組んでいます。このデバイスでは、1 対多のデー​​タ ブロードキャストを形成する必要があります。仕様によると、ペリフェラルは 1 つのマスターしか持つことができず、私が設計しているチップとスタックの制限により、マスターは 3 つのスレーブしか持つことができません。私が理解していることから、Android はとにかく BLE スレーブになることはできないため、デバイスをマスターにすることはできません。

BT4 の仕様と製造元のドキュメントの両方で、ブロードキャスト モードと呼ばれる別の動作モードについて説明しています。ブロードキャスト モードでは、接続は確立されず、アプリケーション データはアドバタイジング パケットの一部として送信されます。多くの Android/iOS 携帯電話が各パケットを同時にスキャンできるため、これは私のニーズにぴったりです。アドバタイジング パケットはバーストで複数回送信されるため、データの受信はほぼ確実であると思われます。パケットがあちこちで失われても、許容できます。

これが興味深いのは、これらのパケットが 10 ~ 20Hz のレートで更新されるライブ センサー データを運ぶことです。Web で見つけた例によると、このモードの BLE は主に、静的データをブロードキャストする「iBeacon」タイプの実装に使用されています。Android スタック内でアドバタイジング パケットがどのようにフィルタリングされるかに関する情報が見つかりません。Bluetooth ハードウェア アドレスごとに 1 つの結果を返すか、アドレスとデータの一意の組み合わせである可能性があります。このアプリケーションでは、2 番目のオプションが有効です。スキャンの開始と停止によってフィルターがリセットされる場合は、何かを機能させることもできます。

Android のドキュメントでは、スキャン メソッドでのデバイス フィルタリングの仕組みについては何も言及されていません。この同じ問題を解決しようとしているネット上の 1 つの投稿を見つけることができましたが、これには未解決の応答があります: BLE: Multiple discovery of the sameperipheral during scan。iOS では、これを可能にするスキャン関数に渡すことができるパラメータがあることを同僚が教えてくれました。

Android ソースの startLeScan() 呼び出しからコードをさかのぼって追跡しようとしましたが、コードは非常に複雑で、抽象化を使用しているため、それを含むオブジェクトの実装を識別するのが困難です。私が得た最も遠いものは、BluetoothManagerService クラス メソッド getBluetoothGatt() から返された IBluetoothGatt オブジェクトです。このオブジェクトは、スキャンの開始要求を受け取ります。github にある現在のリビジョンの BluetoothManagerService.java の 790 行付近でインスタンス化されています。オブジェクトはメッセージの結果からキャストされているため、結果は電話/ドライバー固有のものである可能性があります。これ以上追跡できるかどうかは、私の専門外です。

解決したいもう 1 つの問題は、スキャンのオンとオフをどれだけ迅速に切り替えることができるかということです。スキャンは電力を大量に消費する操作ですが、データのブロードキャストはかなり正確なリアルタイム タイマーで定期的に行われます。その結果、ブロードキャストとスキャンが同期され、残りの 90% 以上の時間はスキャナーがシャットダウンされるように、スキャンのオンとオフを切り替えることができれば、最適化に最適です。これはおそらく実験的にテストする必要があります。

Android用のアクセサリでこれが可能かどうかを確認するために、まだ実現可能性の調査を行っています. 私の現在の電話はまだバージョン 4.3 を実行できないため、これを実験的にテスト/ハッキングする方法がありません。

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

android - AndroidでBluetoothPairingDialog.javaにアクセスするには?

Bluetoothペアリングダイアログが表示されるたびに「ペアリングボタン」を強制的にクリックする方法はありますか?

ここに画像の説明を入力

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

android - Bluetooth経由でAndroidデバイスのバージョンまたはAPIを知る方法

こんにちは、私のアプリケーションでは、2.3.3以降のデータのみを送信したいのですが、Bluetoothデバイスの検出を開始すると、アプリケーションはすべてのアクティブ化されたデバイスを取得します。

これらのデバイスは、Android とその他のデバイスの両方です。2.3.3 以降のバージョンのデバイスをフィルタリングまたは知るにはどうすればよいですか

私のコードは以下のとおりです:

public class MainActivity extends Activity implement OnItemClickListener {