BPHT,\r
APTM,//基站校时及获取定位\r
BPTM,\r
+ AP94,//消息已读\r
+ BP94,\r
/* 服务器发起*/\r
AP12,\r
BP12,//SOS 号码设置\r
BP86,//心率血压测试周期\r
AP89,\r
BP89,//心率血压阀值设置\r
+ AP93,\r
+ BP93,//服务器下发文本\r
UNKNOWN_CMD,\r
}\r
\r
cmdMap.put(CMD_TYPE.BPHT, "BPHT");\r
cmdMap.put(CMD_TYPE.APTM, "APTM");\r
cmdMap.put(CMD_TYPE.BPTM, "BPTM");\r
+ cmdMap.put(CMD_TYPE.AP94, "AP94");\r
+ cmdMap.put(CMD_TYPE.BP94, "BP94");\r
cmdMap.put(CMD_TYPE.AP12, "AP12");\r
cmdMap.put(CMD_TYPE.BP12, "BP12");\r
cmdMap.put(CMD_TYPE.AP14, "AP14");\r
cmdMap.put(CMD_TYPE.BP86, "BP86");\r
cmdMap.put(CMD_TYPE.AP89, "AP89");\r
cmdMap.put(CMD_TYPE.BP89, "BP89");\r
+ cmdMap.put(CMD_TYPE.AP93, "AP93");\r
+ cmdMap.put(CMD_TYPE.BP93, "BP93");\r
}\r
\r
private NettyConnection mConnection=null;\r
}\r
\r
}\r
+\r
+ public static StringMessage AP93(String index){\r
+ /***\r
+ * 20.发送文字到手环(下行协议号:BP93,响应:AP93)\r
+ * 示例:\r
+ * IWBP93, 353456789012345, 080835,123456, 8fd9662f4f8b5b50,2,3#\r
+ * 说明:\r
+ * IW:标识符\r
+ * BP93 : 命令字符\r
+ * 353456789012345:IMEI号,设备唯一ID\r
+ * 080835 :指令流水号\r
+ * 123456:文字来源系统流水号\r
+ * 8fd9662f4f8b5b50: 这是例子(文字内容)\r
+ * 2:语音播报次数,取值范围0-3,0为不播报\r
+ * 3:震动次数,取值范围为0-4, 0为不震动\r
+ * 设备响应: IWAP93,080835#\r
+ * 080835: 设备响应的时候带上响应流水号\r
+ * 说明: 本消息适用所有终端\r
+ */\r
+ return genStringMessage("AP93",new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP93))\r
+ .append(CMDSPLIT).append(index)\r
+ .append(CMDEND).toString());\r
+\r
+ }\r
+\r
+ public void handleBP93(Connection connection,Runtime runtime , String cmd){\r
+ /***\r
+ * 20.发送文字到手环(下行协议号:BP93,响应:AP93)\r
+ * 示例:\r
+ * IWBP93, 353456789012345, 080835,123456, 8fd9662f4f8b5b50,2,3#\r
+ * 说明:\r
+ * IW:标识符\r
+ * BP93 : 命令字符\r
+ * 353456789012345:IMEI号,设备唯一ID\r
+ * 080835 :指令流水号\r
+ * 123456:文字来源系统流水号\r
+ * 8fd9662f4f8b5b50: 这是例子(文字内容)\r
+ * 2:语音播报次数,取值范围0-3,0为不播报\r
+ * 3:震动次数,取值范围为0-4, 0为不震动\r
+ * 设备响应: IWAP93,080835#\r
+ * 080835: 设备响应的时候带上响应流水号\r
+ * 说明: 本消息适用所有终端\r
+ */\r
+ String[] cmdlist=cmd.split(",");\r
+ if (cmdlist.length == 7){\r
+ String cmdindex=cmdlist[2];\r
+ String msg_index_no=cmdlist[3];\r
+ String txtmsg=cmdlist[4];\r
+ String play_time=cmdlist[5];\r
+ String vib_time=cmdlist[6];\r
+ ICLogger.i("收到服务器文本 "+txtmsg+" 序号 "+msg_index_no+" , 播放 "+play_time+" 次,震动 "+vib_time+" 次!");\r
+ txtmsg=Util.UrlGB2312ToUTF8(txtmsg);\r
+ StringMessage msg=AP93(cmdindex);\r
+ //设定当前工作模式及循环频率\r
+ connection.send(msg);\r
+ runtime.PushtxtMsg_srv_index=msg_index_no;//给回复AP94用\r
+ ICLogger.i("received Txt Msg "+txtmsg);\r
+ runtime.getContextProxy().sendMsgBroadcast(txtmsg,0);\r
+ runtime.getContextProxy().saveMstToSMSDB(txtmsg);\r
+\r
+ }else{\r
+ ICLogger.i("BP40 format error!");\r
+ }\r
+\r
+ }\r
+\r
+ public static StringMessage AP94( ){\r
+ /***\r
+ * 15确认已读文字(上行协议号:AP94,响应:BP94)\r
+ * 示例:\r
+ * IWAP94,123456,1#\r
+ * 说明:\r
+ * IWAP94:标识符\r
+ * APHCI: 命令字符\r
+ * 123456: 文字来源系统流水号\r
+ * 1:确认阅读、0:取消阅读\r
+ * 平台响应: IWBP94#\r
+ * 表示平台已接收,可不作响应\r
+ * 说明: 本消息适用所有终端\r
+ */\r
+\r
+ //在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。\r
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP94),new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP94))\r
+ .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)\r
+ .append(CMDSPLIT).append("1")\r
+ .append(CMDEND).toString());\r
+\r
+ }\r
+\r
+ public void handleBP94(){\r
+\r
+ }\r
+\r
public boolean handleCmd(CMD_TYPE type, String cmd) {\r
\r
//普通非二进制命令用此函数处理\r
//心率/血压阀值\r
handleBP89(cmd,mConnection);\r
break;\r
+\r
+ case BP94:\r
+ handleBP94();\r
+ break;\r
+ case BP93:\r
+ //服务器下发文版\r
+ handleBP93(mConnection,mRuntime,cmd);\r
+ break;\r
}\r
\r
return ret;\r