zhenghao пре 1 година
родитељ
комит
94f5b4e5f9
1 измењених фајлова са 18 додато и 13 уклоњено
  1. 18 13
      app/src/main/java/com/naz/sdkdemo/MainActivity.java

+ 18 - 13
app/src/main/java/com/naz/sdkdemo/MainActivity.java

@@ -458,11 +458,13 @@ public class MainActivity extends BaseActivity {
         }
 
         @JavascriptInterface
-        public void disConnectPort() {
+        public void disConnectPort(String name) {
             Log.e(TAG, "disConnectPort");
-            if (serialPortManager2!=null){
-                serialPortManager2.close();
-                serialPortManager2 = null;
+            for (SerialPortManager port:mPortList) {
+                if (port.serialHelper.getPort().equals(name)) {
+                    port.close();
+                    return;
+                }
             }
         }
     }
@@ -1203,15 +1205,19 @@ public class MainActivity extends BaseActivity {
         }
     }
 
-    private SerialPortManager serialPortManager2;
-
+    private List<SerialPortManager> mPortList = new ArrayList<>();
     private void toConnectPort(String name){
-        if (serialPortManager2 == null){
-            serialPortManager2 = new SerialPortManager();
-            serialPortManager2.init(MainActivity.this, name, UserCache.getSerialRate(), new SerialPortManager.SerialCallBack() {
+        for (SerialPortManager port:mPortList) {
+            if (port.serialHelper.getPort().equals(name)){
+                port.open();
+                return;
+            }
+            serialPortManager = new SerialPortManager();
+            serialPortManager.init(MainActivity.this, name, 9600, new SerialPortManager.SerialCallBack() {
                 @Override
                 public void dataCallBack(String data) {
                     Log.e("--------->","------->data="+data);
+                    mWebView.loadUrl("javascript:responsePortData('"+data+"')");
                 }
 
                 @Override
@@ -1220,9 +1226,9 @@ public class MainActivity extends BaseActivity {
                     runOnUiThread(new Runnable() {
                         @Override
                         public void run() {
-                            mWebView.loadUrl("javascript:responsePortCode('"+code+"')");
+                            mWebView.loadUrl("javascript:responsePortCode('"+name+","+code+"')");
                             if (code == 1){
-
+                                mPortList.add(serialPortManager);
                             }else {
                                 Toast.makeText(MainActivity.this, "串口未打开", Toast.LENGTH_SHORT).show();
                             }
@@ -1235,8 +1241,7 @@ public class MainActivity extends BaseActivity {
 
                 }
             });
-        }else {
-            serialPortManager2.open();
+
         }
     }