From 47f5d71a81a528aff225805d28bf181ce4d6f55d Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Thu, 15 Nov 2018 13:14:43 +0800
Subject: [PATCH] [*]1.0.3.2版本

---
 app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java b/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
index 1c2a716..58ce82d 100644
--- a/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
+++ b/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,24 +166,29 @@
             mCallback.onConnecting();
         }
 
-        System.out.println("BleGattCallback setting " + scanResult.getDevice().getAddress());
-        System.out.println("Ble onconnectSuccess");
+        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
             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() {
@@ -184,12 +201,14 @@
 
             @Override
             public void onConnectSuccess(BluetoothGatt gatt, int status) {
+                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
@@ -203,6 +222,7 @@
 
             @Override
             public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
+                System.out.println("chenqi blueTooth connect state -> onDisConnected" + exception);
                 runOnMainThread(new Runnable() {
                     @Override
                     public void run() {
@@ -555,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
@@ -604,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() {
@@ -662,7 +687,8 @@
     }
 
     public void closeConnect() {
-        bleManager.closeBluetoothGatt();
+        if (bleManager != null)
+            bleManager.closeBluetoothGatt();
     }
 
 
@@ -729,5 +755,9 @@
         }
     }
 
-
+    public void openBlueTooth() {
+        if (bleManager != null) {
+            bleManager.enableBluetooth();
+        }
+    }
 }

--
Gitblit v1.8.0