From 17d97f58265510ceda0b38959a90424ee07b6910 Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Tue, 13 Nov 2018 11:42:07 +0800
Subject: [PATCH] 1.0.3-1测试版本 [*]修改重新连接的方式 [*]修改商城连接 [*]修改心跳机制 [*]主要针对oppo和vivo机型添加开启定位服务
---
FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java | 49 +++++++++----------------------------------------
1 files changed, 9 insertions(+), 40 deletions(-)
diff --git a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
index 003c7af..a0abb9a 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
@@ -10,7 +10,6 @@
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
-import android.util.Log;
import com.clj.fastble.conn.BleConnector;
import com.clj.fastble.conn.BleGattCallback;
@@ -45,7 +44,6 @@
private Context context;
private BluetoothAdapter bluetoothAdapter;
private BluetoothGatt bluetoothGatt;
- private int mtu = 20;
private Handler handler = new Handler(Looper.getMainLooper());
private HashMap<String, BluetoothGattCallback> callbackHashMap = new HashMap<>();
private PeriodScanCallback periodScanCallback;
@@ -58,14 +56,11 @@
bluetoothAdapter = bluetoothManager.getAdapter();
}
- public void setMtu(int mtu) {
- this.mtu = mtu;
- }
-
public BleConnector newBleConnector() {
return new BleConnector(this);
}
+
public boolean isInScanning() {
return connectionState == STATE_SCANNING;
@@ -144,8 +139,7 @@
+ "\nmac: " + scanResult.getDevice().getAddress()
+ "\nautoConnect: " + autoConnect);
addConnectGattCallback(callback);
- bluetoothGatt = scanResult.getDevice().connectGatt(context, autoConnect, coreGattCallback);
- return bluetoothGatt;
+ return scanResult.getDevice().connectGatt(context, autoConnect, coreGattCallback);
}
public void scanNameAndConnect(String name, long time_out, final boolean autoConnect, final BleGattCallback callback) {
@@ -344,21 +338,6 @@
return connectionState;
}
-
- public static String dumpHex(byte[] src) {
- String num = "0123456789ABCDEF";
- StringBuilder sb = new StringBuilder();
- sb.append("[ ");
- for (byte aSrc : src) {
- int high = aSrc >> 4 & 0x0f;
- int low = aSrc & 0x0f;
- sb.append(num.charAt(high)).append(num.charAt(low)).append(" ");
- }
- sb.append(" ]");
-
- return sb.toString();
- }
-
private BleGattCallback coreGattCallback = new BleGattCallback() {
@Override
@@ -368,9 +347,8 @@
@Override
public void onConnecting(BluetoothGatt gatt, int status) {
- BleLog.i("BleGattCallback���onConnecting ");
+ BleLog.i("BleGattCallback���onConnectSuccess ");
bluetoothGatt = gatt;
-
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
@@ -384,6 +362,7 @@
@Override
public void onConnectSuccess(BluetoothGatt gatt, int status) {
BleLog.i("BleGattCallback���onConnectSuccess ");
+
bluetoothGatt = gatt;
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
@@ -399,6 +378,7 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
BleLog.i("BleGattCallback���onConnectFailure ");
+
closeBluetoothGatt();
bluetoothGatt = null;
Iterator iterator = callbackHashMap.entrySet().iterator();
@@ -422,7 +402,6 @@
+ '\n' + "status: " + status
+ '\n' + "newState: " + newState
+ '\n' + "currentThread: " + Thread.currentThread().getId());
-
if (newState == BluetoothGatt.STATE_CONNECTED) {
connectionState = STATE_CONNECTED;
onConnectSuccess(gatt, status);
@@ -448,17 +427,18 @@
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
- BleLog.i("BleGattCallback���onServicesDiscovered " + mtu);
+ BleLog.i("BleGattCallback���onServicesDiscovered ");
+
connectionState = STATE_SERVICES_DISCOVERED;
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
Object call = entry.getValue();
if (call instanceof BluetoothGattCallback) {
+ gatt.requestMtu(64);
((BluetoothGattCallback) call).onServicesDiscovered(gatt, status);
}
}
- bluetoothGatt.requestMtu(mtu);
}
@Override
@@ -490,7 +470,7 @@
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
- BleLog.i("BleGattCallback���onCharacteristicChanged " + characteristic.getValue().length);
+ BleLog.i("BleGattCallback���onCharacteristicChanged ");
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
@@ -554,17 +534,6 @@
if (call instanceof BluetoothGattCallback) {
((BluetoothGattCallback) call).onReadRemoteRssi(gatt, rssi, status);
}
- }
- }
-
- @Override
- public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
- super.onMtuChanged(gatt, mtu, status);
- Log.d("BLE", "onMtuChanged mtu=" + mtu + ",status=" + status);
-
- System.out.println("onMtuChanged-------------------->size:" + mtu);
- if (status == 0) {
- System.out.println("onMtuChanged-------------------->������������");
}
}
};
--
Gitblit v1.8.0