BluetoothAdapter クラスを使用すると、Android デバイス上で周囲の Bluetooth デバイスを見つけてペアリング (バインド) することができます。Bluetooth 通信は、固有のアドレス MAC に基づいて相互に送信されます。Bluetooth 通信は、セキュリティ上の問題を考慮して、最初にペアリングする必要があります。その後、相互に接続を開始します。接続後、デバイスは同じ RFCOMM チャネルを共有して相互にデータを送信します。現在、これらの実装は Android 2.0 以降の SDK に実装されています。
1. デバイスの検索/検出
Android の場合、Bluetooth デバイスを検索するには、BluetoothAdapter クラスの startDiscovery() メソッドを使用して、周囲の Bluetooth デバイスを取得する非同期メソッドを実行します。ブロックされているスレッドを考慮する必要はありません。プロセス全体にかかる時間は約 12 秒です。このとき、見つかった Bluetooth デバイス情報を受信するために BroadcastReceiver オブジェクトを登録します。ACTION_FOUND Intent アクションをフィルタリングして、各デバイスの詳細情報を取得します。リモート デバイス。各 BluetoothDevice オブジェクトとオブジェクトのデバイス タイプ BluetoothClass は、追加パラメータ、サンプル コードを通じて、インテント フィールド EXTRA_DEVICE および EXTRA_CLASS に含まれます。
private Final BroadcastReceiver cwjReceiver = new BroadcastReceiver() {
public void onReceive (コンテキスト context, インテント インテント) {
文字列アクション =tent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device =tent.getParcelableExtra(BluetoothDevice. EXTRA_DEVICE) ;
myArrayAdapter.add(device.getName() + " android123 " + device.getAddress()); // デバイス名と MAC アドレスを取得します
// この BroadcastReceiver を登録します
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(cwjReceiver, filter);
最後に、android123 は、onDestory() メソッドをオーバーライドすることを忘れないでください。 Service または Activity で unregisterReceiver メソッドを使用して BroadcastReceiver オブジェクトの登録を解除し、リソースが正しくリサイクルされるようにします。
その他のステータス変更には、ACTION_SCAN_MODE_CHANGED 追加パラメータ、EXTRA_SCAN_MODE および EXTRA_PREVIOUS_SCAN_MODE および SCAN_MODE_CONNECTABLE_DISCOVERABLE、SCAN_MODE_CONNECTABLE および SCAN_MODE_NONE、Bluetooth モジュールなどがあります。
当サイトのすべてのリソースはネットユーザーが投稿したり、各ダウンロードステーションを転載したりしているので、ソフトウェアの完全性を自分でチェックしてください!当サイトのすべてのリソースは学習と参考のためだけに使用されます。ビジネス用途には使用しないでください。そうしないと、発生したすべての結果はあなた自身が負担します!権利侵害がある場合は、次の連絡先に連絡してください。admin@php.cn