|
@@ -108,6 +108,7 @@ import android_serialport_api.SerialPortFinder;
|
|
|
|
|
|
public class MainActivity extends BaseActivity {
|
|
|
private final String TAG = "HomeActivity";
|
|
|
+ private final String TAG2 = "BleBle";
|
|
|
|
|
|
private WebView mWebView;
|
|
|
private LinearLayout ll_nonet;
|
|
@@ -472,13 +473,13 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@JavascriptInterface
|
|
|
public void startScan(String name) {
|
|
|
- Log.e(TAG, "startScan name"+name);
|
|
|
+ Log.e(TAG2, "startScan name"+name);
|
|
|
checkPermissions(name);
|
|
|
}
|
|
|
|
|
|
@JavascriptInterface
|
|
|
public void closeScan() {
|
|
|
- Log.e(TAG, "closeScan");
|
|
|
+ Log.e(TAG2, "closeScan");
|
|
|
toCloseScan();
|
|
|
}
|
|
|
|
|
@@ -1403,7 +1404,7 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
private void setScanRule() {
|
|
|
BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
|
|
|
- .setScanTimeOut(10000) // 扫描超时时间,可选,默认10秒
|
|
|
+ .setScanTimeOut(15000) // 扫描超时时间,可选,默认15秒
|
|
|
.build();
|
|
|
BleManager.getInstance().initScanRule(scanRuleConfig);
|
|
|
}
|
|
@@ -1413,13 +1414,16 @@ public class MainActivity extends BaseActivity {
|
|
|
// Toast.makeText(MainActivity.this, "开始连接", Toast.LENGTH_SHORT).show();
|
|
|
if(mBleDevice == null) {
|
|
|
// 蓝牙未连接过 或 连接的蓝牙不存在
|
|
|
+ Log.i(TAG2, "startScan: " + name + "未连接过");
|
|
|
doStartScan(name);
|
|
|
} else if (!mBleDevice.getDevice().getName().contains(name)){
|
|
|
// 要连接的蓝牙名字和之前的蓝牙设备不一致
|
|
|
// 关闭先前的蓝牙, 再扫描新的蓝牙
|
|
|
+ Log.i(TAG2, "startScan: " + name + "与之前连接的蓝牙" + mBleDevice.getDevice().getName() + "不同");
|
|
|
toCloseScan();
|
|
|
doStartScan(name);
|
|
|
} else {
|
|
|
+ Log.i(TAG2, "startScan: " + "连接了相同的蓝牙" + name);
|
|
|
runOnUiThread(() -> {
|
|
|
mWebView.loadUrl("javascript:responseCode('6')");
|
|
|
});
|
|
@@ -1441,6 +1445,7 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
public void onScanning(BleDevice bleDevice) {
|
|
|
if ((name+"BLE").equals(bleDevice.getName())){
|
|
|
+ Log.i(TAG2, "onScanning: 找到了蓝牙" + bleDevice.getName());
|
|
|
// Toast.makeText(MainActivity.this, "名字匹配去链接", Toast.LENGTH_SHORT).show();
|
|
|
if (!BleManager.getInstance().isConnected(bleDevice)) {
|
|
|
BleManager.getInstance().cancelScan();
|
|
@@ -1463,11 +1468,14 @@ public class MainActivity extends BaseActivity {
|
|
|
// Toast.makeText(MainActivity.this, "扫描完成,是否成功="+isScanSuccess, Toast.LENGTH_SHORT).show();
|
|
|
if (isScanSuccess){
|
|
|
// 找到了匹配的蓝牙
|
|
|
+ Log.i(TAG2, "onScanFinished: 找到了匹配的蓝牙");
|
|
|
mWebView.loadUrl("javascript:responseCode('1')");
|
|
|
}else{
|
|
|
// 没找到匹配的蓝牙
|
|
|
// 返回不等于6的code
|
|
|
+ Log.i(TAG2, "onScanFinished: 没找到匹配的蓝牙");
|
|
|
mWebView.loadUrl("javascript:responseCode('2')");
|
|
|
+ XToast.showToast("未找到匹配蓝牙,请等待15秒后重试");
|
|
|
mBleDevice = null;
|
|
|
}
|
|
|
}
|
|
@@ -1483,14 +1491,15 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onConnectFail(BleDevice bleDevice, BleException exception) {
|
|
|
- Log.e("-------->","------>连接失败");
|
|
|
+ Log.e(TAG2,"------>连接失败");
|
|
|
+ XToast.showToast("蓝牙连接失败,请等待15秒后重试");
|
|
|
// Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show();
|
|
|
mWebView.loadUrl("javascript:responseCode('2')");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
|
|
- Log.e("-------->","------>连接成功");
|
|
|
+ Log.e(TAG2,"------>连接成功");
|
|
|
// Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
|
|
|
mBleDevice = bleDevice;
|
|
|
mWebView.loadUrl("javascript:responseCode('3')");
|
|
@@ -1519,7 +1528,7 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
// Toast.makeText(MainActivity.this, "打开通知成功", Toast.LENGTH_SHORT).show();
|
|
|
- Log.e("-------->","-------->打开通知成功");
|
|
|
+ Log.e(TAG2,"-------->打开通知成功");
|
|
|
mWebView.loadUrl("javascript:responseCode('6')");
|
|
|
}
|
|
|
});
|
|
@@ -1527,7 +1536,7 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onNotifyFailure(final BleException exception) {
|
|
|
- Log.e("-------->","------>打开通知失败");
|
|
|
+ Log.e(TAG2,"------>打开通知失败");
|
|
|
runOnUiThread(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
@@ -1562,10 +1571,10 @@ public class MainActivity extends BaseActivity {
|
|
|
public void onDisConnected(boolean isActiveDisConnected, BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
|
|
mBleDevice = null;
|
|
|
if (isActiveDisConnected) {
|
|
|
- Log.e("-------->","------>断开了");
|
|
|
+ Log.e(TAG2,"------>断开了");
|
|
|
mWebView.loadUrl("javascript:responseCode('4')");
|
|
|
} else {
|
|
|
- Log.e("-------->","------>连接断开");
|
|
|
+ Log.e(TAG2,"------>连接断开");
|
|
|
mWebView.loadUrl("javascript:responseCode('5')");
|
|
|
ObserverManager.getInstance().notifyObserver(bleDevice);
|
|
|
}
|