关于BLE开发,网上相关的资料其实也不少,大多数资料介绍的还是很不错,不过我这边资料,主要侧重代码方便的介绍及使用。
1 我的这边是基于Android6.0以上版本开发的所以首先就得获取授权:
//请求蓝牙权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
}
}
2 从系统这边获取BluetoothManager服务:
BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
拿到BluetoothManager服务后获取适配器
BluetoothAdapter mBluetoothAdapter = bluetoothManager.getAdapter();
3 通过BluetoothAdapter我们可以做接下来的扫描蓝牙的操作
mBluetoothAdapter.startLeScan(mLeScanCallback);
在这个startLeScan()方法里面是有一个扫描后的结果回调的,扫描结果的返回就在这个LeScanCallBack里面:
// Device scan callback.
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!TextUtils.isEmpty(device.getName()) &