Parcourir la source

防止tcp重复连接

weizhengliang il y a 3 ans
Parent
commit
e36a3694cd

+ 3 - 1
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -95,6 +95,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
     private var initialized :Boolean = false
     private var updating :Boolean = false
     private var hasNurseValue :Boolean = false
+    private var tcpConnect: Boolean = false
 
     //通话界面fragment
     private var skyCallFragment: Fragment? = null
@@ -410,7 +411,8 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
     //启动TCP连接
     fun startTcp() {
-        if (Constant.TCP_SERVER_URL != null) {
+        if (Constant.TCP_SERVER_URL != null && !tcpConnect) {
+            tcpConnect = true
             Thread(Runnable { TcpClient.getInstance().init(Constant.TCP_SERVER_URL, Constant.TCP_PORT, Constant.TCP_HEART_BEAT) }).start()
         }
     }

+ 19 - 0
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/helper/AnrFcExceptionUtil.java

@@ -242,6 +242,25 @@ public class AnrFcExceptionUtil implements Thread.UncaughtExceptionHandler {
                 mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1500, mPendingIntent);
                 android.os.Process.killProcess(android.os.Process.myPid());*/
 
+                //记录anr
+                /*try {
+                    long timestamp = System.currentTimeMillis();
+                    String time = format.format(new Date());
+                    format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+                    String fileName = "anr-" + time + "-" + timestamp + ".txt";
+                    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
+                        String path = Environment.getExternalStorageDirectory() + "/anr/";
+                        File dir = new File(path);
+                        if (!dir.exists()) {
+                            dir.mkdirs();
+                        }
+                        FileOutputStream fos = new FileOutputStream(path + fileName);
+                        fos.write(fileName.getBytes());
+                        fos.close();
+                    }
+                } catch (Exception e) {
+                }*/
+
                 Log.d("anr", "Anr restart app...");
                 AppUpdateHelper.reboot(application);
             }