1.获得蓝牙适配器
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { BluetoothManager mBluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = mBluetoothManager.getAdapter(); } else { mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } return mBluetoothAdapter;
2.打开关闭蓝牙
//打开蓝牙 public void enableBluetooth() { if (!mBluetoothAdapter.isEnabled()) { new Thread(new Runnable() { @Override public void run() { mBluetoothAdapter.enable(); } }).start(); } } //关闭蓝牙 public void disableBluetooth() { if (mBluetoothAdapter.isEnabled()) mBluetoothAdapter.disable(); }
3.扫描ble蓝牙
//扫描蓝牙 public void startScan() { Log.e(TAG, "startScan: "); stopScan(); closeBluetooth(); if (mBluetoothAdapter.isDiscovering()) { mBluetoothAdapter.cancelDiscovery(); } mBluetoothAdapter.startLeScan(leScanHook); }
4.扫描ble蓝牙的回调
public BluetoothAdapter.LeScanCallback leScanHook = new BluetoothAdapter.LeScanCallback() { public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) { Log.e(TAG, "Found:" + device.getName() + " " + rssi + " " + Arrays.toString(scanRecord)); if (device.getName().equals(