PSoC4 BLEと連携するためのAndroid用のBLEアプリ作成のための各種メモ。
参考に、と言うよりもほとんどそのまま使わせてもらってるのが、hiramine.comさんのサイト。
https://www.hiramine.com/programming/blecommunicator/index.html
ライセンスはApache License Version 2.0なので、以下は最低限守る必要あり。
他のフリーソフトウェア向けライセンスと同様、Apache Licenseではユーザーがそのソフトウェアの使用や頒布、修正、派生版の頒布をすることを制限しない。
https://ja.wikipedia.org/wiki/Apache_License
Apache Licenseは、頒布される二次的著作物が同じライセンスで提供されることを要求しないが、ユーザーがそのソフトウェアにApache Licenseのコードが使われていることを知らせる文言を入れ、元のApache Licenceと矛盾しないようにする必要がある。
ライセンスされたファイルそれぞれに元々ある著作権と特許権の記述はそのまま保持されなければならず、何らかの修正が施されている場合は、その旨を追加記述しなければならない。
ここでは、Android Studioのバージョン違いや、自分用のカスタマイズによる差分等を吸収した分について主に記載。
Contents
Service UUIDを指定したスキャン方法
Service UUIDの指定
まずは、UUID型のService UUIDの指定。
UUID型には”import java.util.UUID”が必要。
|
1 |
private static final UUID SERVICE_UUID = UUID.fromString("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); |
startScan()の中身
Service UUIDを指定しない時は以下のようにcallbackを指定するだけ。
|
1 2 |
final android.bluetooth.le.BluetoothLeScanner scanner = mBluetoothAdapter.getBluetoothLeScanner(); scanner.startScan(mLeScanCallback); |
Service UUIDを指定する場合は以下のように、フィルターと設定も一緒に指定する。
|
1 2 3 4 5 6 |
final android.bluetooth.le.BluetoothLeScanner scanner = mBluetoothAdapter.getBluetoothLeScanner(); ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build(); ScanFilter scanFilter = new ScanFilter.Builder().setServiceUuid(new ParcelUuid(SERVICE_UUID)).build(); List<ScanFilter> scanFilterList = new ArrayList<>(); scanFilterList.add(scanFilter); scanner.startScan(scanFilterList, scanSettings, mLeScanCallback); |