低消費電力Bluetooth(BLE)パッケージとその使用方法
6260 ワード
ソースコードはしばらくオープンしないで、aarを必要として以下のコメントを歓迎します
Bluetooth 4.0 SDKの使い方
一、関連権限の申請
二、ブルートゥースの初期化
三、ブルートゥースを開く
四、ブルートゥース操作オブジェクトの作成
五、コールバックの設定
六、ブルートゥースの切断(または破棄)
七、ブルートゥース操作
八、ブルートゥースコールバック
九、注意事項
1.ブルートゥース操作オブジェクト(FastBluetoothManager)初期化が完了すると、直ちにスキャンを開始しスキャンできない場合があり、スキャンを遅らせる必要がある.2.Bluetooth権限と位置決め位置権限は申請に成功しなければならない.そうしないと、Bluetooth機能を使用できない.3.資源の回収に注意し、メモリの漏洩を防止する.
Bluetooth 4.0 SDKの使い方
一、関連権限の申請
二、ブルートゥースの初期化
BluetoothUtil.setDEBUG(true);//
BluetoothUtil.init(this);//
三、ブルートゥースを開く
BluetoothUtil.openBluetooth(this);//
四、ブルートゥース操作オブジェクトの作成
//
BluetoothOptions bluetoothOptions = new BluetoothOptions.Builder()
//
.setCacheEnable("your key", true)
//
.setFilterNullName(true)
//
.build();
//
bluetoothManager = FastBluetoothManager.getInstance();
//
bluetoothManager.initBluetooth(bluetoothOptions);
// , , ,SP
bluetoothManager.addDeviceCache(new DemoDeviceCache());
五、コールバックの設定
bluetoothManager.setBluetoothCallback(new BluetoothCallback() {
@Override
public void connect(BluetoothDevice bluetoothDevice) {
super.connect(bluetoothDevice);
result.append("
");
result.append(" ");
}
@Override
public void disconnect() {
super.disconnect();
result.append("
");
result.append(" ");
}
@Override
public void deviceFound(BluetoothDevice bluetoothDevice) {
super.deviceFound(bluetoothDevice);
result.setText(bluetoothDevice.getName());
}
}
@Override
public void onStartServicesDiscovered() {
super.onStartServicesDiscovered();
List bluetoothServices = bluetoothManager.getBluetoothServices(null);
for (BluetoothGattService bluetoothService : bluetoothServices) {
result.append("
");
result.append("
");
result.append("=========== =============");
result.append("
");
String uuid = bluetoothService.getUuid().toString();
result.append(uuid);
result.append("
");
result.append("=========== =============");
List bluetoothCharacteristics = bluetoothManager.getBluetoothCharacteristic(uuid);
for (BluetoothGattCharacteristic bluetoothCharacteristic : bluetoothCharacteristics) {
result.append("
");
result.append(bluetoothCharacteristic.getUuid().toString());
result.append("
");
}
result.append("===========END=============");
result.append("
");
result.append("
");
}
}
@Override
public void onStartCharacteristicChanged(BluetoothDevice device, byte[] buff) {
super.onStartCharacteristicChanged(device, buff);
}
});
六、ブルートゥースの切断(または破棄)
BluetoothUtil.closeBluetooth();// , onDestroy
bluetoothManager.destroy();// , onDestroy
七、ブルートゥース操作
/**
*
*/
void startScanning();
/**
*
*/
void stopScanning();
/**
*
*
* @param bluetoothDevice
* @param isAutoConnected
*/
void startConnect(Context context, BluetoothDevice bluetoothDevice, boolean isAutoConnected);
/**
*
*
* @param address
* @param isAutoConnected
*/
void startConnect(Context context, String address, boolean isAutoConnected);
/**
*
*/
void disconnect();
/**
*
*/
void discoverServicesAndCharacteristic();
/**
*
*
* @param ch
* @param enable
*/
void setNotificationForCharacteristic(BluetoothGattCharacteristic ch, boolean enable);
/**
*
* byte
* 7e 14
* byte[] = {0x7e,0x14}
* @param characteristic
* @param dataToWrite
*/
void writeDataToCharacteristic(BluetoothGattCharacteristic characteristic, byte[] dataToWrite);
/**
*
* @param characteristic
*/
void readDataFromCharacteristic(BluetoothGattCharacteristic characteristic);
/**
*
*
* @param serviceUUID
* @return
*/
public List getBluetoothServices(String... serviceUUID);
/**
*
*
* @param serviceUUID
* @param characteristics
* @return
*/
public List getBluetoothCharacteristic(String serviceUUID, String... characteristics);
/**
*
*/
@Override
void destroy();
八、ブルートゥースコールバック
/**
*
*
* @param bluetoothDevice
*/
@Override
public void connect(BluetoothDevice bluetoothDevice) {
}
/**
*
*/
@Override
public void disconnect() {
}
/**
*
*
* @param bluetoothDevice
*/
@Override
public void deviceFound(BluetoothDevice bluetoothDevice) {
}
/**
*
*/
@Override
public void onStartServicesDiscovered() {
}
/**
*
*
* @param buff
*/
@Override
public void onStartCharacteristicRead(byte[] buff) {
}
/**
*
*
* @param buff
*/
@Override
public void onStartCharacteristicWrite(byte[] buff) {
}
/**
* ( )
*
* @param device
* @param buff
*/
@Override
public void onStartCharacteristicChanged(BluetoothDevice device, byte[] buff) {
}
九、注意事項
1.ブルートゥース操作オブジェクト(FastBluetoothManager)初期化が完了すると、直ちにスキャンを開始しスキャンできない場合があり、スキャンを遅らせる必要がある.2.Bluetooth権限と位置決め位置権限は申請に成功しなければならない.そうしないと、Bluetooth機能を使用できない.3.資源の回収に注意し、メモリの漏洩を防止する.