Skip to content

Latest commit

 

History

History
94 lines (66 loc) · 2.33 KB

README.md

File metadata and controls

94 lines (66 loc) · 2.33 KB

CSDN PersonBlog

界面展示

Android蓝牙通讯封装

基于简单配对模式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。目前还在完善中