基于简单配对模式RFCOMM连接方式写的一个蓝牙通讯模块。
1.初始化
推荐使用一个全局的Activity做初始化,因为在整个生命周期其实蓝牙只需要连接一次。
BtManager.init(xxActivity);2.获取BtManager对象
btManager= BtManager.getInstance();3.设置扫描回调
btManager.setIScanCallback(new IScanCallback() {
            @Override
            public void discoverDevice(BluetoothDevice bluetoothDevice, short rssi) 			{
                mSurroundBluetoothAdapter.addItem(bluetoothDevice);
            }
            @Override
            public void scanTimeout() {
                Toast.makeText(BlueToothActivity.this, "扫描超时!", Toast.LENGTH_LONG).show();
            }
            @Override
            public void scanFinish(List<BluetoothDevice> bluetoothList) {
            }
        })4.设置连接状态回调
btManager.setConnectStateCallback(new IConnectStateCallBack() {
            @Override
            public void connecting() {
            }
            @Override
            public void connected() {
            }
            @Override
            public void disConnect() {
                currentConnectDevice = null;
            }
            @Override
            public void waitForConnect() {
            }
            @Override
            public void connectedToDeviceName(BluetoothDevice device) {
                currentConnectDevice = device;
                launchActivity(device);
            }
        });4.扫描设备
  btManager.scanBluetooth();5.连接到设备
btManager.connectToDevice(bluetoothDevice);找到DataProcessHandler这个类,修改需要读取的数据规则,如果无规则处理可直接Write到ByteDataReadProcess。(后续会将这块抽成基类,由用户扩展实现。。)
这样就算完成了。 大家可以参照一下我的小demo。目前还在完善中
