陈奇
2018-11-02 75e83be13a8c4ccf081c4dc07a262e4096783c7e
app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
@@ -39,12 +39,13 @@
    @Override
    public void onCreate() {
        if( MainApp.theApp.bleManager!=null){
        if (MainApp.theApp.bleManager != null) {
            bleManager = MainApp.theApp.bleManager;
        }else{
        } else {
            bleManager = new BleManager(MainApp.theApp);
            MainApp.theApp.bleManager = bleManager;
        }
        bleManager.setMtu(128);//给外部接口设置数据传输大小
        bleManager.enableBluetooth();
    }
@@ -144,8 +145,8 @@
    }
    public void cancelScan() {
        if(bleManager!=null)
           bleManager.cancelScan();
        if (bleManager != null)
            bleManager.cancelScan();
    }
    public void connectDevice(final ScanResult scanResult) {
@@ -153,21 +154,23 @@
            mCallback.onConnecting();
        }
        bleManager.connectDevice(scanResult, true, new BleGattCallback() {
        bleManager.connectDevice(scanResult, false, new BleGattCallback() {
            @Override
            public void onFoundDevice(ScanResult scanResult) {
                System.out.println("chenqi blueTooth connect state -> onFoundDevice");
                BluetoothService.this.name = scanResult.getDevice().getName();
                BluetoothService.this.mac = scanResult.getDevice().getAddress();
            }
            @Override
            public void onConnecting(BluetoothGatt gatt, int status) {
                System.out.println("chenqi blueTooth connect state -> onConnecting");
            }
            @Override
            public void onConnectError(BleException exception) {
                System.out.println("chenqi blueTooth connect state -> onConnectError");
                runOnMainThread(new Runnable() {
                    @Override
                    public void run() {
@@ -180,11 +183,14 @@
            @Override
            public void onConnectSuccess(BluetoothGatt gatt, int status) {
                  //保存最近连接的蓝牙设备MAC
                  MainApp.theApp.sharedPreferencesUtil.saveBLE(gatt.getDevice().getAddress());
                System.out.println("chenqi blueTooth connect state -> onConnectSuccess");
                //保存最近连接的蓝牙设备MAC
                MainApp.theApp.sharedPreferencesUtil.saveBLE(gatt.getDevice().getAddress());
            }
            @Override
            public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
                System.out.println("chenqi blueTooth connect state -> onServicesDiscovered");
                BluetoothService.this.gatt = gatt;
                runOnMainThread(new Runnable() {
                    @Override
@@ -198,6 +204,7 @@
            @Override
            public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
                System.out.println("chenqi blueTooth connect state -> onDisConnected");
                runOnMainThread(new Runnable() {
                    @Override
                    public void run() {
@@ -555,7 +562,6 @@
        }
        bleManager.scanMacAndConnect(mac, 5000, false, new BleGattCallback() {
            @Override
            public void onFoundDevice(ScanResult scanResult) {
                runOnMainThread(new Runnable() {
@@ -580,7 +586,6 @@
            @Override
            public void onConnecting(BluetoothGatt gatt, int status) {
            }
            @Override
@@ -597,7 +602,6 @@
            @Override
            public void onConnectSuccess(BluetoothGatt gatt, int status) {
            }
            @Override