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