Android BLE Bluetooth開発フロー
Android BLE Bluetooth開発フローは次の手順で構成されています。
- BLEがサポートされているかどうかを知るには、BluetoothAdapterクラスのgetDefaultAdapter()メソッドを用いてBluetoothAdapterオブジェクトを取得し、isMultipleAdvertisementSupported()メソッドでBLEがサポートされているのか確認すればよい。
- ユーザー権限の要求:AndroidManifest.xmlファイルにBLUETOOTH、BLUETOOTH_ADMINのパーミッションを追加し、実行時にユーザーの権限を要求します。
- BluetoothAdapterオブジェクトのenable()メソッドを利用してBluetoothをオンにする。
- BLEデバイスをスキャンする:BluetoothAdapterオブジェクトのstartLeScan()メソッドを使用して周辺のBLEデバイスをスキャンし、BluetoothAdapter.LeScanCallbackを使用してスキャン結果をリッスンします。
- BLEデバイスに接続:BluetoothDeviceオブジェクトのconnectGatt()メソッドを介して、BLEデバイスに接続し、BluetoothGattCallbackを使用して接続状態およびデータ交換を監視します。
- BluetoothGattCallbackのonConnectionStateChange()メソッドで接続が確立されると、BluetoothGattオブジェクトのdiscoverServices()メソッドを使用してBLEデバイスのサービスと特性を発見します。
- BLEデバイスのキャラクタリスティックの読み書き:BluetoothGattオブジェクトのreadCharacteristic()およびwriteCharacteristic()メソッドを使用してBLEデバイスのキャラクタリスティックを読み書きします。
- BLEデバイス通知のリスニング:BluetoothGattオブジェクトのsetCharacteristicNotification()メソッドを介してBLEデバイス通知をリスニングし、受信通知データの処理にBluetoothGattCallbackのonCharacteristicChanged()メソッドを実装します。
- 接続の解除:BluetoothGattオブジェクトのdisconnect()メソッドを使用してBLEデバイスとの接続を解除します。
- Bluetoothをオフにする:BluetoothAdapterオブジェクトのdisable()メソッドを使用してBluetoothをオフにします。
以上の内容はAndroidBLE(Bluetooth Low Energy)開発の基礎的な流れですので、実際に開発する際は必要に応じて内容が変わる可能性があります。