Back to project page BLE-MIDI-for-Android.
The source code is released under:
Apache License
If you think the Android project BLE-MIDI-for-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package jp.kshoji.blemidi.util; // w ww. j a v a 2 s . c o m import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattService; import android.content.Context; import java.util.List; import java.util.UUID; import jp.kshoji.blemidi.R; /** * Utility for finding BLE MIDI devices * * @author K.Shoji */ public final class BleMidiDeviceUtils { /** * Obtains BluetoothGattService for MIDI * * @param context the context * @param bluetoothGatt the gatt of device * @return null if no service found */ public static BluetoothGattService getMidiService(final Context context, final BluetoothGatt bluetoothGatt) { List<BluetoothGattService> services = bluetoothGatt.getServices(); String[] uuidStringArray = context.getResources().getStringArray(R.array.uuidListForService); for (BluetoothGattService service : services) { for (String uuidString : uuidStringArray) { UUID uuid = BleUuidUtils.fromString(uuidString); if (BleUuidUtils.matches(service.getUuid(), uuid)) { return service; } } } return null; } /** * Obtains BluetoothGattCharacteristic for MIDI Input * * @param context the context * @param bluetoothGattService the gatt service of device * @return null if no characteristic found */ public static BluetoothGattCharacteristic getMidiInputCharacteristic(final Context context, final BluetoothGattService bluetoothGattService) { List<BluetoothGattCharacteristic> characteristics = bluetoothGattService.getCharacteristics(); String[] uuidStringArray = context.getResources().getStringArray(R.array.uuidListForInputCharacteristic); for (BluetoothGattCharacteristic characteristic : characteristics) { for (String uuidString : uuidStringArray) { UUID uuid = BleUuidUtils.fromString(uuidString); if (BleUuidUtils.matches(characteristic.getUuid(), uuid)) { return characteristic; } } } return null; } /** * Obtains BluetoothGattCharacteristic for MIDI Output * * @param context the context * @param bluetoothGattService the gatt service of device * @return null if no characteristic found */ public static BluetoothGattCharacteristic getMidiOutputCharacteristic(final Context context, final BluetoothGattService bluetoothGattService) { List<BluetoothGattCharacteristic> characteristics = bluetoothGattService.getCharacteristics(); String[] uuidStringArray = context.getResources().getStringArray(R.array.uuidListForOutputCharacteristic); for (BluetoothGattCharacteristic characteristic : characteristics) { for (String uuidString : uuidStringArray) { UUID uuid = BleUuidUtils.fromString(uuidString); if (BleUuidUtils.matches(characteristic.getUuid(), uuid)) { return characteristic; } } } return null; } }