用法
======
1、在 Android Studio 的 build.gradle 中,在 dependencies 里添加一行:
compile ‘com.inuker.bluetooth:library:1.4.0’
如果是 Eclipse,可以导入 bluetoothkit.jar,在 AndroidManifest.xml 中添加如下:
<uses-feature
android:name=“android.hardware.bluetooth_le”
android:required=“true” />
<application
android:label="@string/app_name">
<service
android:name=“com.inuker.bluetooth.library.BluetoothService” />
2、创建一个 BluetoothClient,建议作为一个全局单例,管理所有 BLE 设备的连接。
BluetoothClient mClient = new BluetoothClient(context);
所有接口都通过 BluetoothClient 调用,涉及的常量如回调的错误码都在 Constants 类中。
设备扫描
支持经典蓝牙和 BLE 设备混合扫描,可自定义扫描策略。每次扫描都要创建新的 SearchRequest,不能复用。
SearchRequest request = new SearchRequest.Builder()
.searchBluetoothLeDevice(3000, 3) // 先扫 BLE 设备 3 次,每次 3s
.searchBluetoothClassicDevice(5000) // 再扫经典蓝牙 5s
.searchBluetoothLeDevice(2000) // 再扫 BLE 设备 2s
.build();
mClient.search(request, new SearchResponse() {
@Override
public void onSearchStarted() {
}
@Override
public void onDeviceFounded(SearchResult device) {
Beacon beacon = new Beacon(device.scanRecord);
BluetoothLog.v(String.format(“beacon for %s\n%s”, device.getAddress(), beacon.toString()));<