-
Notifications
You must be signed in to change notification settings - Fork 0
BLE 接入JS SDK
Air edited this page May 21, 2019
·
1 revision
min sdk > 21 即 Android 5.0以上的系统版本
在app.gradle下 加入
implementation "cn.wonderbits:ble:1.1.1"
在项目build.gradle
文件里的加入packagingOptions设置。
android {
packagingOptions {
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/io.netty.versions.properties'
}
}
WBBle.init(this)
.setDebuggable(true); // 会输出日志和错误toast
WBBle.get().startScan(new IScanCallback() {
@Override
public void onFailed(@NotNull String msg) {
// 申请打开蓝牙
WBBle.get().requestBluetoothEnable(context);
Log.e(TAG, msg)
}
@Override
public void onSuccess(@NotNull List<? extends BleScanDevice> list) {
// 扫描成功
// list为扫描到的蓝牙设备列表
// 包含蓝牙名称和MAC地址
}
});
当扫描成功后,用户主动点击某个蓝牙设备,则需要进行连接。
扫描成功获取的蓝牙设备列表为List<BleScanDevice> devices
, 用户选中第1个蓝牙设备,连接蓝牙代码如下:
WBBle.get().connectDevice(this, devices.get(0).getDevice().getAddress(), new IConnectCallback() {
@Override
public void onFailed(@NotNull String msg) {
// 连接失败
}
@Override
public void onConnected() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// 成功连接设备进行你的处理
}
});
}
@Override
public void onDisconnected() {
}
});
这样就成功开启服务,等待JS SDK连接了。
返回JS SDK文档进行接下来操作即可。
WBBle.get().close();