添加AP05 语音查询协议,在每次心跳都会查询一次。
authorsnickersun <scy@incartech.cn>
Sat, 18 Jan 2020 10:28:01 +0000 (18:28 +0800)
committersnickersun <scy@incartech.cn>
Sat, 18 Jan 2020 10:28:01 +0000 (18:28 +0800)
app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java
app/src/main/java/com/ic/protocol/service/Initialize.java
app/src/main/java/com/ic/protocol/service/KeepAlive.java
app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java
app/src/main/java/com/ic/protocol/utils/NettyConnection.java

index 3f9f04d..5004d6e 100644 (file)
@@ -428,7 +428,23 @@ public class protocolAPIHelper {
 \r
 \r
 \r
+    public static String AP05(boolean recvFlag){\r
 \r
+//        IWAP05,1#\r
+        return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP05))\r
+                .append(CMDSPLIT).append(recvFlag?1:0)\r
+                .append(CMDEND).toString();\r
+\r
+    }\r
+\r
+\r
+    public void handleBP05(String cmd){\r
+//        IWBP05,6#\r
+        String[] cmdlist=cmd.split(CMDSPLIT);\r
+        if (cmdlist.length>1){\r
+            Logger.i(" 服务器有 " +cmdlist[1]+" 条语音未接收!");\r
+        }\r
+    }\r
     public static String AP85(Runtime ds,String cmddata){\r
 //示例数据:IWAP49,68##\r
         return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP85))\r
index 329b0a7..260c957 100644 (file)
@@ -86,7 +86,7 @@ public class Initialize extends AbstractConnectionService {
   public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
     if (this.initOK)\r
       return false; \r
-    if (paramStringMessage.cmd().equals("AP00")) {\r
+    if (paramStringMessage.cmd().equals("BP00")) {\r
       this.initOK = true;\r
 //      try {\r
 //        paramRuntime.setKey(((JSONObject)(new JSONTokener(paramStringMessage.all()[1])).nextValue()).getString("KEY"));\r
index 984433b..922f37c 100644 (file)
@@ -196,7 +196,10 @@ public class KeepAlive extends AbstractConnectionService {
       if ("heart".equals(paramStringMessage.cmd()))\r
         AlarmWakeUp.isNeedWakeUpAlarm(paramRuntime);\r
       return true;\r
-    } \r
+    } else if ("BP03".equals(paramStringMessage.cmd())){\r
+      //每次心跳,查询一下 是否有语音消息需要接收。\r
+      paramConnection.send(protocolAPIHelper.genStringMessage("AP05",protocolAPIHelper.AP05(true)));\r
+    }\r
     return false;\r
   }\r
 \r
index b115ded..57b20e8 100644 (file)
@@ -6,7 +6,9 @@ import android.content.Intent;
 import android.os.SystemClock;\r
 import android.util.Log;\r
 \r
+import com.ic.protocol.bean.Contact;\r
 import com.ic.protocol.bean.Runtime;\r
+import com.ic.protocol.service.protocolMainServer;\r
 \r
 public class AlarmWakeUp {\r
   private static long lastAlarmTime;\r
@@ -16,7 +18,7 @@ public class AlarmWakeUp {
     int i = SharPreferenceUtil.getPrefInt((dev.getContextProxy()).context, "lacation_cycle", 3);\r
     if (l - lastAlarmTime > ((i + 1) * 60 * 1000)) {\r
       ComponentName componentName = new ComponentName("com.ic.protocol", "com.ic.protocol.service.protocolMainServer");\r
-      Intent intent = (new Intent("com.enqualcomm.support.ACTION_ALARM")).setComponent(componentName);\r
+      Intent intent = (new Intent(protocolMainServer.ACTION_ALARM)).setComponent(componentName);\r
       (dev.getContextProxy()).context.startService(intent);\r
       Context context = (dev.getContextProxy()).context;\r
       StringBuilder stringBuilder = new StringBuilder();\r
index 8adfe43..926c459 100644 (file)
@@ -53,7 +53,7 @@ public class NettyConnection implements Connection {
                             case BP00:\r
                                 API.handleBP00(cmd);\r
                                 Logger.i("服务器收到心跳AP00");\r
-                                DeliverCMDMessageToSystem("AP00",cmd);//通知下面线程状态变化\r
+                                DeliverCMDMessageToSystem("BP00",cmd);//通知下面线程状态变化\r
                                 break;\r
                             case BP01:\r
                                 API.handleBP01(cmd);\r
@@ -62,7 +62,8 @@ public class NettyConnection implements Connection {
                             case BP03:\r
                                 API.handleBP03(cmd);\r
                                 Logger.i("服务器收到心跳AP03");\r
-                                DeliverCMDMessageToSystem("AP03",cmd);//通知下面线程状态变化\r
+                                DeliverCMDMessageToSystem("BP03",cmd);//通知下面线程状态变化\r
+\r
                                 break;\r
 //                            case BP28:\r
 //                                 API.handleBP28(NettyConnection.this ,cmd);\r
@@ -92,6 +93,11 @@ public class NettyConnection implements Connection {
                                 API.handleBP16(NettyConnection.this,runtime,cmd);\r
                                 DeliverCMDMessageToSystem("StartLocate",cmd);//通知下面线程状态变化\r
                                 break;\r
+\r
+                            case BP05:\r
+                                //查询服务器语音 返回信息\r
+                                API.handleBP05(cmd);\r
+                                break;\r
                         }\r
 \r
                         return ret;\r