|
@@ -42,15 +42,18 @@ import com.clj.fastble.utils.HexUtil;
|
|
|
import com.google.common.util.concurrent.ListenableFuture;
|
|
|
import com.google.gson.Gson;
|
|
|
import com.google.gson.reflect.TypeToken;
|
|
|
+import com.naz.sdkdemo.activity.ApplyTrademarkCompleteActivity;
|
|
|
import com.naz.sdkdemo.activity.ble.comm.ObserverManager;
|
|
|
import com.naz.sdkdemo.base.BaseActivity;
|
|
|
import com.naz.sdkdemo.bean.PrintModule;
|
|
|
import com.naz.sdkdemo.bean.PrintModule2;
|
|
|
import com.naz.sdkdemo.bean.PrintModule3;
|
|
|
+import com.naz.sdkdemo.comm.Constants;
|
|
|
import com.naz.sdkdemo.helper.SerialPortManager;
|
|
|
import com.naz.sdkdemo.http.ApiHelper;
|
|
|
import com.naz.sdkdemo.utils.FastClickUtil;
|
|
|
import com.naz.sdkdemo.utils.MyTools;
|
|
|
+import com.naz.sdkdemo.utils.SPUtils;
|
|
|
import com.naz.sdkdemo.weight.UserCache;
|
|
|
import com.naz.sdkdemo.weight.XToast;
|
|
|
//import com.tencent.smtt.export.external.interfaces.WebResourceError;
|
|
@@ -72,6 +75,7 @@ import java.lang.reflect.Method;
|
|
|
import java.lang.reflect.Type;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
@@ -137,6 +141,7 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
// 相机现在是否正在打开, 用于处理用户在照相机预览页面点击返回按钮的情况
|
|
|
private boolean cameraIsOpening = false;
|
|
|
+ BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
|
|
|
|
|
@Override
|
|
|
protected int getLayoutResId() {
|
|
@@ -145,7 +150,6 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
protected void initView() {
|
|
|
-
|
|
|
ll_nonet = findViewById(R.id.ll_nonet);
|
|
|
ll_web = findViewById(R.id.ll_web);
|
|
|
mWebView = findViewById(R.id.webview);
|
|
@@ -167,9 +171,9 @@ public class MainActivity extends BaseActivity {
|
|
|
// 保存表单数据
|
|
|
ws.setSaveFormData(true);
|
|
|
// 是否应该支持使用其屏幕缩放控件和手势缩放
|
|
|
- ws.setSupportZoom(true);
|
|
|
- ws.setBuiltInZoomControls(true);
|
|
|
- ws.setDisplayZoomControls(false);
|
|
|
+// ws.setSupportZoom(true);
|
|
|
+// ws.setBuiltInZoomControls(true);
|
|
|
+// ws.setDisplayZoomControls(false);
|
|
|
// 启动应用缓存
|
|
|
ws.setAppCacheEnabled(true);
|
|
|
// 设置缓存模式
|
|
@@ -179,7 +183,11 @@ public class MainActivity extends BaseActivity {
|
|
|
ws.setUseWideViewPort(true);
|
|
|
// 不缩放
|
|
|
mWebView.setInitialScale(100);
|
|
|
- mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
+ mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
|
|
+ } else {
|
|
|
+ mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
|
|
+ }
|
|
|
// 告诉WebView启用JavaScript执行。默认的是false。
|
|
|
ws.setJavaScriptEnabled(true);
|
|
|
// 页面加载好以后,再放开图片
|
|
@@ -473,13 +481,33 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@JavascriptInterface
|
|
|
public void startScan(String name) {
|
|
|
- Log.e(TAG2, "startScan name"+name);
|
|
|
+ String msg = "startScan name: " + name;
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
+ if (bluetoothAdapter != null) {
|
|
|
+ // 设备不支持蓝牙
|
|
|
+ boolean enabled = bluetoothAdapter.isEnabled();
|
|
|
+ if (enabled) {
|
|
|
+ String msg2 = "系统蓝牙已打开";
|
|
|
+ Log.e(TAG2, msg2);
|
|
|
+ uploadLogMessage(msg2, "ble");
|
|
|
+ } else {
|
|
|
+ String msg2 = "系统蓝牙未打开";
|
|
|
+ Log.e(TAG2, msg2);
|
|
|
+ uploadLogMessage(msg2, "ble");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
checkPermissions(name);
|
|
|
}
|
|
|
|
|
|
@JavascriptInterface
|
|
|
public void closeScan() {
|
|
|
- Log.e(TAG2, "closeScan");
|
|
|
+ String msg = "closeScan";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
toCloseScan();
|
|
|
}
|
|
|
|
|
@@ -1414,16 +1442,25 @@ public class MainActivity extends BaseActivity {
|
|
|
// Toast.makeText(MainActivity.this, "开始连接", Toast.LENGTH_SHORT).show();
|
|
|
if(mBleDevice == null) {
|
|
|
// 蓝牙未连接过 或 连接的蓝牙不存在
|
|
|
- Log.i(TAG2, "startScan: " + name + "未连接过");
|
|
|
+ String msg = "startScan: " + name + "未连接过";
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
doStartScan(name);
|
|
|
} else if (!mBleDevice.getDevice().getName().contains(name)){
|
|
|
// 要连接的蓝牙名字和之前的蓝牙设备不一致
|
|
|
// 关闭先前的蓝牙, 再扫描新的蓝牙
|
|
|
- Log.i(TAG2, "startScan: " + name + "与之前连接的蓝牙" + mBleDevice.getDevice().getName() + "不同");
|
|
|
+ String msg = "startScan: " + name + "与之前连接的蓝牙" + mBleDevice.getDevice().getName() + "不同";
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
toCloseScan();
|
|
|
doStartScan(name);
|
|
|
} else {
|
|
|
- Log.i(TAG2, "startScan: " + "连接了相同的蓝牙" + name);
|
|
|
+ String msg = "startScan: " + "连接了相同的蓝牙" + name;
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
runOnUiThread(() -> {
|
|
|
mWebView.loadUrl("javascript:responseCode('6')");
|
|
|
});
|
|
@@ -1445,7 +1482,10 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
public void onScanning(BleDevice bleDevice) {
|
|
|
if ((name+"BLE").equals(bleDevice.getName())){
|
|
|
- Log.i(TAG2, "onScanning: 找到了蓝牙" + bleDevice.getName());
|
|
|
+ String msg = "onScanning: 找到了蓝牙" + bleDevice.getName();
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
// Toast.makeText(MainActivity.this, "名字匹配去链接", Toast.LENGTH_SHORT).show();
|
|
|
if (!BleManager.getInstance().isConnected(bleDevice)) {
|
|
|
BleManager.getInstance().cancelScan();
|
|
@@ -1468,12 +1508,18 @@ public class MainActivity extends BaseActivity {
|
|
|
// Toast.makeText(MainActivity.this, "扫描完成,是否成功="+isScanSuccess, Toast.LENGTH_SHORT).show();
|
|
|
if (isScanSuccess){
|
|
|
// 找到了匹配的蓝牙
|
|
|
- Log.i(TAG2, "onScanFinished: 找到了匹配的蓝牙");
|
|
|
+ String msg = "onScanFinished: 找到了匹配的蓝牙";
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
mWebView.loadUrl("javascript:responseCode('1')");
|
|
|
}else{
|
|
|
// 没找到匹配的蓝牙
|
|
|
// 返回不等于6的code
|
|
|
- Log.i(TAG2, "onScanFinished: 没找到匹配的蓝牙");
|
|
|
+ String msg = "onScanFinished: 没找到匹配的蓝牙";
|
|
|
+ Log.i(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
mWebView.loadUrl("javascript:responseCode('2')");
|
|
|
XToast.showToast("未找到匹配蓝牙,请等待15秒后重试");
|
|
|
mBleDevice = null;
|
|
@@ -1491,7 +1537,10 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onConnectFail(BleDevice bleDevice, BleException exception) {
|
|
|
- Log.e(TAG2,"------>连接失败");
|
|
|
+ String msg = "------>连接失败";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
XToast.showToast("蓝牙连接失败,请等待15秒后重试");
|
|
|
// Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show();
|
|
|
mWebView.loadUrl("javascript:responseCode('2')");
|
|
@@ -1499,7 +1548,10 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
|
|
- Log.e(TAG2,"------>连接成功");
|
|
|
+ String msg = "------>连接成功";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
// Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
|
|
|
mBleDevice = bleDevice;
|
|
|
mWebView.loadUrl("javascript:responseCode('3')");
|
|
@@ -1528,7 +1580,10 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
// Toast.makeText(MainActivity.this, "打开通知成功", Toast.LENGTH_SHORT).show();
|
|
|
- Log.e(TAG2,"-------->打开通知成功");
|
|
|
+ String msg = "-------->打开通知成功";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
mWebView.loadUrl("javascript:responseCode('6')");
|
|
|
}
|
|
|
});
|
|
@@ -1536,7 +1591,10 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onNotifyFailure(final BleException exception) {
|
|
|
- Log.e(TAG2,"------>打开通知失败");
|
|
|
+ String msg = "------>打开通知失败";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
runOnUiThread(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
@@ -1571,10 +1629,16 @@ public class MainActivity extends BaseActivity {
|
|
|
public void onDisConnected(boolean isActiveDisConnected, BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
|
|
mBleDevice = null;
|
|
|
if (isActiveDisConnected) {
|
|
|
- Log.e(TAG2,"------>断开了");
|
|
|
+ String msg = "------>断开了";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
mWebView.loadUrl("javascript:responseCode('4')");
|
|
|
} else {
|
|
|
- Log.e(TAG2,"------>连接断开");
|
|
|
+ String msg = "------>连接断开";
|
|
|
+ Log.e(TAG2, msg);
|
|
|
+ uploadLogMessage(msg, "ble");
|
|
|
+
|
|
|
mWebView.loadUrl("javascript:responseCode('5')");
|
|
|
ObserverManager.getInstance().notifyObserver(bleDevice);
|
|
|
}
|
|
@@ -1900,4 +1964,11 @@ public class MainActivity extends BaseActivity {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ private void uploadLogMessage(String message, String type) {
|
|
|
+ String da = UserCache.getDeviceId() + "------>>" + message;
|
|
|
+ String s = BaseApplication.appendDataToLogFile(da, Constants.BLE_LOG_FILE_NAME);
|
|
|
+ ApiHelper.uploadExceptionLog(MainActivity.this, s, type, (code, msg, data1) -> {
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|