陈奇
2018-11-27 2c76ecbb7edf6e30f1dda4c930a02945c360ecab
app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
@@ -6,6 +6,7 @@
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
@@ -39,19 +40,21 @@
    @Override
    public void onCreate() {
        System.out.println("chenqi onCreate service" + MainApp.theApp.bleManager);
        if (MainApp.theApp.bleManager != null) {
            bleManager = MainApp.theApp.bleManager;
        } else {
            bleManager = new BleManager(MainApp.theApp);
            MainApp.theApp.bleManager = bleManager;
        }
        bleManager.setMtu(128);//给外部接口设置数据传输大小
//        bleManager.setMtu(128);//给外部接口设置数据传输大小
        bleManager.enableBluetooth();
    }
    @Override
    public void onDestroy() {
        super.onDestroy();
        System.out.println("chenqi onDestroy service ");
        bleManager = null;
        mCallback = null;
        mCallback2 = null;
@@ -62,11 +65,20 @@
        return mBinder;
    }
    @Override
    public void unbindService(ServiceConnection conn) {
        System.out.println("chenqi unbindService service");
        super.unbindService(conn);
    }
    @Override
    public boolean onUnbind(Intent intent) {
        bleManager.closeBluetoothGatt();
        System.out.println("chenqi unbinding service");
        closeConnect();
        return super.onUnbind(intent);
    }
    public class BluetoothBinder extends Binder {
        public BluetoothService getService() {
@@ -154,6 +166,12 @@
            mCallback.onConnecting();
        }
        System.out.println("chenqi blename old = " + MainApp.theApp.sharedPreferencesUtil.getBLE());
        System.out.println("chenqi blename = " + scanResult.getDevice().getAddress());
        openBlueTooth();
        bleManager.connectDevice(scanResult, false, new BleGattCallback() {
            @Override
@@ -204,7 +222,7 @@
            @Override
            public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
                System.out.println("chenqi blueTooth connect state -> onDisConnected");
                System.out.println("chenqi blueTooth connect state -> onDisConnected" + exception);
                runOnMainThread(new Runnable() {
                    @Override
                    public void run() {
@@ -557,9 +575,13 @@
    public void scanAndConnect5(String mac) {
        resetInfo();
        System.out.println("chenqi mCallback" + mCallback);
        if (mCallback != null) {
            mCallback.onStartScan();
        }
        openBlueTooth();
        bleManager.scanMacAndConnect(mac, 5000, false, new BleGattCallback() {
            @Override
@@ -606,6 +628,7 @@
            @Override
            public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
                System.out.println("chenqi onConnectError " + exception.getDescription());
                runOnMainThread(new Runnable() {
                    @Override
                    public void run() {
@@ -664,7 +687,8 @@
    }
    public void closeConnect() {
        bleManager.closeBluetoothGatt();
        if (bleManager != null)
            bleManager.closeBluetoothGatt();
    }
@@ -731,5 +755,9 @@
        }
    }
    public void openBlueTooth() {
        if (bleManager != null) {
            bleManager.enableBluetooth();
        }
    }
}