platforms/android/app/src/main/java/com/service/MyInteractionService.java
@@ -1,13 +1,11 @@ package com.service; import android.app.Service; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import com.ftpfile.FTPFileUtil; import com.ftpfile.FileAttribute; import com.google.gson.Gson; import com.mode.BattTestParam; import com.mode.DeviceState; import com.mode.ServiceModel; @@ -29,6 +27,7 @@ private Handler mSocketHandle = null; private DeviceState deviceState = null; private FTPFileUtil ftpFileUtil = null; private JsInterface jsInterface = null; public static boolean isRunning = false; @@ -37,7 +36,7 @@ ftpFileUtil = new FTPFileUtil(); this.serverip = serverip; this.jsInterface = jsInterface; this.mSocketHandle = new Handler(){ @Override public void handleMessage(Message msg) { @@ -97,13 +96,26 @@ //获取充电数据 jsInterface.SendCallDataToJS("getChargeData",model); }else if(FBS_ComBase.CMD_CLEARALARM == model.cmd){ //清除所有告警 jsInterface.SendCallDataToJS("clearAllAlarm",model); }else if(FBS_ComBase.CMD_RETURNMAIN == model.cmd){ //进入指定界面 jsInterface.SendCallDataToJS("changeAppForm",model); }else if(FBS_ComBase.CMD_EXITMACHINECONTROL == model.cmd){ //退出Android控制 sockethread.closeConn(); jsInterface.SendCallDataToJS("exitDeiviceConn",model); }else if(FBS_ComBase.CMD_STARTHHTEST == model.cmd){ //启动活化 jsInterface.SendCallDataToJS("startHHTest",model); }else if(FBS_ComBase.CMD_PAUSEHHTEST == model.cmd){ //暂停活化 jsInterface.SendCallDataToJS("pauseHHTest",model); }else if(FBS_ComBase.CMD_STOPHHTEST == model.cmd){ //停止活化 jsInterface.SendCallDataToJS("stopHHTest",model); } } }; @@ -165,7 +177,15 @@ //切换电池组 public boolean changeBatt(String battName){ return sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_CHANGEBATT, battName); if(deviceState.devWorkState != 0){ ServiceModel model = new ServiceModel(); model.code = 0; model.msg = "当前电池组正在进行测试"; jsInterface.SendCallDataToJS("changeBatt",model); }else{ return sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_CHANGEBATT, battName); } return false; } //删除电池组 @@ -243,6 +263,21 @@ return sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_RETURNMAIN, code); } //启动活化测试 public void startHHTest(){ sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_STARTHHTEST, ""); } //暂停活化测试 public void pauseHHTest(){ sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_PAUSEHHTEST, ""); } //停止活化测试 public void stopHHTest(){ sendMessageToSocketClient(mSocketHandle, FBS_ComBase.CMD_STOPHHTEST, ""); } private boolean sendMessageToSocketClient(Handler handler, int cmd, String json) { ServiceModel model = new ServiceModel(); platforms/android/app/src/main/java/com/socket/MySocketClientThread.java
@@ -516,6 +516,14 @@ System.out.println("退出上位机控制"); } } //--------------------- 控制活化(启动/停止/暂停) ---------------------------------- else if(FBS_ComBase.CMD_STARTHHTEST == m_FBS_Cmd.CMD || FBS_ComBase.CMD_PAUSEHHTEST == m_FBS_Cmd.CMD || FBS_ComBase.CMD_STOPHHTEST == m_FBS_Cmd.CMD) { if(FBS_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) { isSuccess = true; System.out.println("启动/停止/暂停活化测试成功"); } } } return isSuccess; } platforms/android/app/src/main/java/com/util/FBS_ComBase.java
@@ -150,6 +150,10 @@ public static final int CMD_STOPCHARGE = 0X0A1D; //停止充电 public static final int CMD_CLEARALARM = 0X0A1E; //清除告警 public static final int CMD_STARTHHTEST = 0X0A1F; //启动活化测试 public static final int CMD_PAUSEHHTEST = 0X0A20; //暂停活化测试 public static final int CMD_STOPHHTEST = 0X0A21; //停止活化测试 public static final int WORKSTATE_Stopped = 0; //停止 public static final int WORKSTATE_Paused_Dischg = 1; //暂停放电 public static final int WORKSTATE_Discharging = 2; //正在放电 platforms/android/app/src/main/java/io/cordova/hellocordova/CheckExitService.java
@@ -14,6 +14,9 @@ import io.hybird.jsbridge.JsInterface; /** * 监测Android app是否强制退出 */ public class CheckExitService extends Service { private String packageName = "io.cordova.hellocordova"; @@ -25,7 +28,6 @@ @Override public void onTaskRemoved(Intent rootIntent) { super.onTaskRemoved(rootIntent); MyInteractionService.isRunning = false; MyInteractionService service = MySocketClientThread.service; @@ -33,6 +35,7 @@ service.exitDeiviceConn(); } //Toast.makeText(CheckExitService.this, "App要退出了", Toast.LENGTH_SHORT).show(); super.onTaskRemoved(rootIntent); } //service异常停止的回调 platforms/android/app/src/main/java/io/hybird/jsbridge/JsInterface.java
@@ -241,15 +241,24 @@ service.exitDeiviceConn(); } //获取设备ip public String readServerIp(){ String server_ip = "127.0.0.1"; if(mContext != null){ SharedPreferences pref = mContext.getSharedPreferences("data", Context.MODE_PRIVATE); server_ip = pref.getString("server_ip",""); } return server_ip; //启动活化测试 @JavascriptInterface public void startHHTest(){ service.startHHTest(); } //暂停活化测试 @JavascriptInterface public void pauseHHTest(){ service.pauseHHTest(); } //停止活化测试 @JavascriptInterface public void stopHHTest(){ service.stopHHTest(); } //保存设备ip public boolean writeServerIp(String server_ip){ @@ -258,6 +267,16 @@ editor.apply(); return true; } //获取设备ip public String readServerIp(){ String server_ip = "127.0.0.1"; if(mContext != null){ SharedPreferences pref = mContext.getSharedPreferences("data", Context.MODE_PRIVATE); server_ip = pref.getString("server_ip",""); } return server_ip; }