import com.enqualcomm.support.utils.AESCipher;
import com.enqualcomm.support.utils.CameraUtil;
import com.enqualcomm.support.utils.Connection;
+import com.enqualcomm.support.utils.DeviceInfoUtil;
import com.enqualcomm.support.utils.ICAudioManager;
import com.enqualcomm.support.utils.ICLogger;
import com.enqualcomm.support.utils.TemperatureUtil;
import com.enqualcomm.support.utils.Util;
import com.enqualcomm.support.utils.VibrateUtil;
import com.enqualcomm.support.utils.WakeLockUtil;
+import com.enqualcomm.support.utils.regexUtil;
import com.ic.view.msg.MsgMustReadDialog;
import java.io.File;
import java.util.List;
import java.util.Locale;
+import chestnut.utils.RegexUtils;
+
import static com.enqualcomm.support.Constants.DIALOG_ACTION;
import static com.enqualcomm.support.Constants.FROM_SERVER;
import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
private static final String CMDHEADER = "(";
private static final String CMDEND = ")";
private static final String CMDSPLIT = ",";
- public static final String defaultServerIP = "13.59.36.164";
- public static final int defaultServerPort = 7030;
+ // public static final String defaultServerIP = "13.59.36.164";
+ // public static final int defaultServerPort = 7030;
+ public static final String defaultServerIP = "snickersun.oicp.net";
+ public static final int defaultServerPort = 54944;
public enum CMD_TYPE {
+ /* 服务器发起*/
+ AP00,//立即定位
+ AP01,//设置服务器地址和端口
+ AP02,//设置APN
+ AP03,//修改时区
+ AP04,//读取终端版本信息
+ AP05,//监听
+ AP06,//设置亲情号码
+ AP07,//清空亲情号码
+ AP08,//重启
+ AP09,//设置闹钟
+ AP10,//情景模式
+ AP11,//服务器通知
+ AP12,//下载微聊信息
+ AP14,//下载定位数据
+ AP15,//开关机控制
+ AP16,//服务器激活SOS模式
+ AP18,//手表名字设置
+ AP20,//设置手表语言
+ AP21,//铃声音量设置
+ AP22,//隐身时段
+ AP23,//亲情号码自拍图片设置
+ AP25,//删除亲情号码自拍图片
+ AP26,//下发APP Url消息
+ AP30,//BP30回复
+ AP31,//BP31回复
+ AP32,//BP32回复
+ AP34,//BP34回复
/*终端发起*/
- AP00,//登录包
- BP00,
- AP01,//混合定位
- BP01,
- AP02,//多基站定位
- BP02,
- AP92,//CDMA 混合定位
- BP92,
- AP94,
- BP94,
- AP03,//心跳包
- BP03,
- AP05,//语音查询接收
- BP05,
- AP07,//语音上行
- BP07,
- AP10,//报警与地址回复
- BP10,
- AP49,//心率上传
- BP49,
- APHT,//心率血压上传
- BPHT,
- APTM,//基站校时及获取定位
- BPTM,
- APCH,//充电提示
- BPCH,
- APBR,//上传蓝牙扫描结果
- BPBR,
- /* 服务器发起*/
- AP12,
- BP12,//SOS 号码设置
- AP14,
- BP14,//设置联系人白名单
- AP15,
- BP15,//设置定位周期
- AP16,
- BP16,//立即定位
- AP17,
- BP17,//恢复出厂设置
- AP18,
- BP18,//重启设备
- AP21,
- BP21,//设置计步开关
- AP28,
- BP28, //语音下行
- AP31,
- BP31,//关机
- AP33,
- BP33,//工作模式
- AP34,
- BP34,//自定义工作模式
- AP40,
- BP40,//下发文本
- AP68,
- BP68,//绑定解绑
- APXL,
- BPXL,//测量心率
- APXY,
- BPXY,//测量血压
- APJZ,
- BPJZ,//血压校准
- AP84,
- BP84,//白名单开关
- AP85,
- BP85,//设置闹钟
- AP86,
- BP86,//心率周期
- AP87,
- BP87,//二维码更新
- AP88,
- BP88,//查找手表
- AP89,
- BP89,//心率血压阀值设置
- APTE,
- BPTE,//体温间隔设置
- APTP,
- BPTP,//体温上行
- APX1,
- BPX1,//心率血压血氧修正
- APS4,
- BPS4,//提醒设置(时间段)
- APHP,//上报心率血压血氧
- BPHP,
- APDE,//进出围栏通知
- BPDE,
- APDG,//体温阀值设置
- BPDG,
- APTU,//上传语音图片
- BPTU,
- APSL,//上传睡眠数据
- BPSL,
- AP46,//立即拍照
- BP46,
- APDH,//聆听
- BPDH,
- AP99,//监听电话
- BP99,
- APTQ,//天气
- BPTQ,
- APAT,//剪断消息开关
- BPAT,
- APBT,
- BPBT,//设置蓝牙扫描间隔
- APBS,
- BPBS,//设置蓝牙绑定Major
- APWL,
- BPWL,//设置白名单
- AP65,
- BP65,//设置音量
- AP47,
- BP47,//设置震动
- UNKNOWN_CMD,
+ BP00,//开机对时
+ BP01,//AP01返回
+ BP02,//AP02返回
+ BP03,//AP03返回
+ BP05,//AP05返回
+ BP06,//AP06返回
+ BP07,//AP07返回
+ BP08,//AP08返回
+ BP09,//AP09返回
+ BP10,//AP10返回
+ BP11,//AP11返回
+ BP12,//AP12返回
+ BP14,//AP14返回
+ BP15,//AP15返回
+ BP16,//AP16返回
+ BP18,//AP18返回
+ BP20,//AP20返回
+ BP21,//AP21返回
+ BP22,//AP22返回
+ BP23,//AP23返回
+ BP25,//AP25返回
+ BP26,//AP26返回
+ BP30,//上传定位数据
+ BP31,//登陆服务器消息
+ BP32,//查询服务器微聊消息
+ BP33,//发送状态包给服务器(心跳)
+ BP34,//上传微聊信息
+ BP35,//好友添加请求
+ UNKNOWN_CMD
}
private static HashMap<CMD_TYPE, String> cmdMap;
static {
cmdMap = new HashMap<CMD_TYPE, String>();
+ /* 服务器发起*/
cmdMap.put(CMD_TYPE.AP00, "AP00");
- cmdMap.put(CMD_TYPE.BP00, "BP00");
cmdMap.put(CMD_TYPE.AP01, "AP01");
- cmdMap.put(CMD_TYPE.BP01, "BP01");
cmdMap.put(CMD_TYPE.AP02, "AP02");
- cmdMap.put(CMD_TYPE.BP02, "BP02");
- cmdMap.put(CMD_TYPE.AP92, "AP92");
- cmdMap.put(CMD_TYPE.BP92, "BP92");
- cmdMap.put(CMD_TYPE.AP94, "AP94");
- cmdMap.put(CMD_TYPE.BP94, "BP94");
cmdMap.put(CMD_TYPE.AP03, "AP03");
- cmdMap.put(CMD_TYPE.BP03, "BP03");
+ cmdMap.put(CMD_TYPE.AP04, "AP04");
cmdMap.put(CMD_TYPE.AP05, "AP05");
- cmdMap.put(CMD_TYPE.BP05, "BP05");
+ cmdMap.put(CMD_TYPE.AP06, "AP06");
cmdMap.put(CMD_TYPE.AP07, "AP07");
- cmdMap.put(CMD_TYPE.BP07, "BP07");
+ cmdMap.put(CMD_TYPE.AP08, "AP08");
+ cmdMap.put(CMD_TYPE.AP09, "AP09");
cmdMap.put(CMD_TYPE.AP10, "AP10");
- cmdMap.put(CMD_TYPE.BP10, "BP10");
- cmdMap.put(CMD_TYPE.AP49, "AP49");
- cmdMap.put(CMD_TYPE.BP49, "BP49");
- cmdMap.put(CMD_TYPE.APHT, "APHT");
- cmdMap.put(CMD_TYPE.BPHT, "BPHT");
- cmdMap.put(CMD_TYPE.APTM, "APTM");
- cmdMap.put(CMD_TYPE.BPTM, "BPTM");
- cmdMap.put(CMD_TYPE.APCH, "APCH");
- cmdMap.put(CMD_TYPE.BPCH, "BPCH");
- cmdMap.put(CMD_TYPE.APBR, "APBR");
- cmdMap.put(CMD_TYPE.BPBR, "BPBR");
- /* 服务器发起*/
+ cmdMap.put(CMD_TYPE.AP11, "AP11");
cmdMap.put(CMD_TYPE.AP12, "AP12");
- cmdMap.put(CMD_TYPE.BP12, "BP12");
cmdMap.put(CMD_TYPE.AP14, "AP14");
- cmdMap.put(CMD_TYPE.BP14, "BP14");
cmdMap.put(CMD_TYPE.AP15, "AP15");
- cmdMap.put(CMD_TYPE.BP15, "BP15");
cmdMap.put(CMD_TYPE.AP16, "AP16");
- cmdMap.put(CMD_TYPE.BP16, "BP16");
- cmdMap.put(CMD_TYPE.AP17, "AP17");
- cmdMap.put(CMD_TYPE.BP17, "BP17");
cmdMap.put(CMD_TYPE.AP18, "AP18");
- cmdMap.put(CMD_TYPE.BP18, "BP18");
+ cmdMap.put(CMD_TYPE.AP20, "AP20");
cmdMap.put(CMD_TYPE.AP21, "AP21");
- cmdMap.put(CMD_TYPE.BP21, "BP21");
- cmdMap.put(CMD_TYPE.AP28, "AP28");
- cmdMap.put(CMD_TYPE.BP28, "BP28");
+ cmdMap.put(CMD_TYPE.AP22, "AP22");
+ cmdMap.put(CMD_TYPE.AP23, "AP23");
+ cmdMap.put(CMD_TYPE.AP25, "AP25");
+ cmdMap.put(CMD_TYPE.AP26, "AP26");
+ cmdMap.put(CMD_TYPE.AP30, "AP30");
cmdMap.put(CMD_TYPE.AP31, "AP31");
+ cmdMap.put(CMD_TYPE.AP32, "AP32");
+ cmdMap.put(CMD_TYPE.AP34, "AP34");
+ /* 终端发起*/
+ cmdMap.put(CMD_TYPE.BP00, "BP00");
+ cmdMap.put(CMD_TYPE.BP01, "BP01");
+ cmdMap.put(CMD_TYPE.BP02, "BP02");
+ cmdMap.put(CMD_TYPE.BP03, "BP03");
+ cmdMap.put(CMD_TYPE.BP05, "BP05");
+ cmdMap.put(CMD_TYPE.BP06, "BP06");
+ cmdMap.put(CMD_TYPE.BP07, "BP07");
+ cmdMap.put(CMD_TYPE.BP08, "BP08");
+ cmdMap.put(CMD_TYPE.BP09, "BP09");
+ cmdMap.put(CMD_TYPE.BP10, "BP10");
+ cmdMap.put(CMD_TYPE.BP11, "BP11");
+ cmdMap.put(CMD_TYPE.BP12, "BP12");
+ cmdMap.put(CMD_TYPE.BP14, "BP14");
+ cmdMap.put(CMD_TYPE.BP15, "BP15");
+ cmdMap.put(CMD_TYPE.BP16, "BP16");
+ cmdMap.put(CMD_TYPE.BP18, "BP18");
+ cmdMap.put(CMD_TYPE.BP20, "BP20");
+ cmdMap.put(CMD_TYPE.BP21, "BP21");
+ cmdMap.put(CMD_TYPE.BP22, "BP22");
+ cmdMap.put(CMD_TYPE.BP23, "BP23");
+ cmdMap.put(CMD_TYPE.BP25, "BP25");
+ cmdMap.put(CMD_TYPE.BP26, "BP26");
+ cmdMap.put(CMD_TYPE.BP30, "BP30");
cmdMap.put(CMD_TYPE.BP31, "BP31");
- cmdMap.put(CMD_TYPE.AP33, "AP33");
+ cmdMap.put(CMD_TYPE.BP32, "BP32");
cmdMap.put(CMD_TYPE.BP33, "BP33");
- cmdMap.put(CMD_TYPE.AP34, "AP34");
cmdMap.put(CMD_TYPE.BP34, "BP34");
- cmdMap.put(CMD_TYPE.AP40, "AP40");
- cmdMap.put(CMD_TYPE.BP40, "BP40");
- cmdMap.put(CMD_TYPE.AP68, "AP68");
- cmdMap.put(CMD_TYPE.BP68, "BP68");
- cmdMap.put(CMD_TYPE.APXL, "APXL");
- cmdMap.put(CMD_TYPE.BPXL, "BPXL");
- cmdMap.put(CMD_TYPE.APXY, "APXY");
- cmdMap.put(CMD_TYPE.BPXY, "BPXY");
- cmdMap.put(CMD_TYPE.APJZ, "APJZ");
- cmdMap.put(CMD_TYPE.BPJZ, "BPJZ");
- cmdMap.put(CMD_TYPE.AP84, "AP84");
- cmdMap.put(CMD_TYPE.BP84, "BP84");
- cmdMap.put(CMD_TYPE.AP85, "AP85");
- cmdMap.put(CMD_TYPE.BP85, "BP85");
- cmdMap.put(CMD_TYPE.AP86, "AP86");
- cmdMap.put(CMD_TYPE.BP86, "BP86");
- cmdMap.put(CMD_TYPE.AP87, "AP87");
- cmdMap.put(CMD_TYPE.BP87, "BP87");
- cmdMap.put(CMD_TYPE.AP88, "AP88");
- cmdMap.put(CMD_TYPE.BP88, "BP88");
- cmdMap.put(CMD_TYPE.AP89, "AP89");
- cmdMap.put(CMD_TYPE.BP89, "BP89");
- cmdMap.put(CMD_TYPE.APTE, "APTE");
- cmdMap.put(CMD_TYPE.BPTE, "BPTE");
- cmdMap.put(CMD_TYPE.APTP, "APTP");
- cmdMap.put(CMD_TYPE.BPTP, "BPTP");
- cmdMap.put(CMD_TYPE.APX1, "APX1");
- cmdMap.put(CMD_TYPE.BPX1, "BPX1");
- cmdMap.put(CMD_TYPE.APS4, "APS4");
- cmdMap.put(CMD_TYPE.BPS4, "BPS4");
- cmdMap.put(CMD_TYPE.APHP, "APHP");
- cmdMap.put(CMD_TYPE.BPHP, "BPHP");
- cmdMap.put(CMD_TYPE.APDE, "APDE");
- cmdMap.put(CMD_TYPE.BPDE, "BPDE");
- cmdMap.put(CMD_TYPE.APDG, "APDG");
- cmdMap.put(CMD_TYPE.BPDG, "BPDG");
- cmdMap.put(CMD_TYPE.APTU, "APTU");
- cmdMap.put(CMD_TYPE.BPTU, "BPTU");
- cmdMap.put(CMD_TYPE.APSL, "APSL");
- cmdMap.put(CMD_TYPE.BPSL, "BPSL");
- cmdMap.put(CMD_TYPE.AP46, "AP46");
- cmdMap.put(CMD_TYPE.BP46, "BP46");
- cmdMap.put(CMD_TYPE.APDH, "APDH");
- cmdMap.put(CMD_TYPE.BPDH, "BPDH");
- cmdMap.put(CMD_TYPE.AP99, "AP99");
- cmdMap.put(CMD_TYPE.BP99, "BP99");
- cmdMap.put(CMD_TYPE.APTQ, "APTQ");
- cmdMap.put(CMD_TYPE.BPTQ, "BPTQ");
- cmdMap.put(CMD_TYPE.APAT, "APAT");
- cmdMap.put(CMD_TYPE.BPAT, "BPAT");
- cmdMap.put(CMD_TYPE.APBT, "APBT");
- cmdMap.put(CMD_TYPE.BPBT, "BPBT");
- cmdMap.put(CMD_TYPE.APBS, "APBS");
- cmdMap.put(CMD_TYPE.BPBS, "BPBS");
- cmdMap.put(CMD_TYPE.APWL, "APWL");
- cmdMap.put(CMD_TYPE.BPWL, "BPWL");
- cmdMap.put(CMD_TYPE.AP65, "AP65");
- cmdMap.put(CMD_TYPE.BP65, "BP65");
- cmdMap.put(CMD_TYPE.AP47, "AP47");
- cmdMap.put(CMD_TYPE.BP47, "BP47");
+ cmdMap.put(CMD_TYPE.BP35, "BP35");
}
int head_index = msg.indexOf(CMDHEADER);
if (head_index >= 0) {
- int end_index = msg.indexOf("#", head_index);
+ int end_index = msg.indexOf(CMDEND, head_index);
if (end_index < 0) {
return "";
}
for (CMD_TYPE key : cmdMap.keySet()) {
- if (msg.startsWith(CMDHEADER + cmdMap.get(key))) {
- ICLogger.i("found cmd keyid=" + key + " ,keyname=" + cmdMap.get(key));
+ if (regexUtil.isGatorCMD(cmdMap.get(key),msg)) {
+ ICLogger.i("found gator cmd keyid=" + key + " ,keyname=" + cmdMap.get(key));
return cmdMap.get(key);
}
}
String encreptionMSGHeader="GT";
encreptedStr=AESCipher.aesEncryptStringFixedKey(msg);
String len= String.format("%04x",encreptedStr.length());
- return encreptionMSGHeader+len+encreptedStr;
+ return encreptionMSGHeader+len+"01"+encreptedStr;
}
/**/
public static StringMessage genStringMessage(String cmdName, String msg) {
//设置cmdName,在这里配置进去的msg没有实际用到
StringMessage sm = new StringMessage(new String[]{cmdName, msg});
//用此函数设置要发送的内容
- sm.refresh(msg);
+ sm.refresh(encrepteMsg(msg));
+ // sm.refresh((msg));
//设置信息创建时间
sm.setDate(TimeUtil.getSystemDateYYMMDD(), TimeUtil.getSystemTimeHHmmss());
return sm;
if (cmdbuf.toString().endsWith(CMDEND)) {
iscmdComplete = true;
}
- String[] cmdlist = cmd_msgbuf.split(CMDEND);
+ String[] cmdlist = cmd_msgbuf.split("\\"+CMDEND);
int listlen = cmdlist.length;
ICLogger.d("listlen " + listlen);
/**
}
for (int i = 0; i < listlen; i++) {
for (CMD_TYPE key : cmdMap.keySet()) {
- if (cmdlist[i].startsWith(CMDHEADER + cmdMap.get(key))) {
- ICLogger.d("found cmd keyid=" + key + " ,keyname=" + cmdMap.get(key) + " , " + cmdlist[i]);
- if (key == CMD_TYPE.BP28) {
- //如果是BP28则 后面的数据是音频,需要保留
- byte[] amrBuf;
- int amrLen = getBP28Amrlen(cmdlist[i]);
- if (bytes.length > amrLen) {
- handleCmd(key, cmdlist[i], bytes);
- }
- } else {
- handleCmd(key, cmdlist[i]);
- }
+ if (regexUtil.isGatorCMD(cmdMap.get(key),cmdlist[i]) ) {
+ ICLogger.d("found gator cmd keyid=" + key + " ,keyname=" + cmdMap.get(key) + " , " + cmdlist[i]);
+// if (key == CMD_TYPE.BP28) {
+// //如果是BP28则 后面的数据是音频,需要保留
+// byte[] amrBuf;
+// int amrLen = getBP28Amrlen(cmdlist[i]);
+// if (bytes.length > amrLen) {
+// handleCmd(key, cmdlist[i], bytes);
+// }
+// } else {
+ String cmdi=cmdlist[i].trim().replace(CMDHEADER,"").replace(CMDEND,"");
+ handleCmd(key, cmdi);
+// }
}
}
}
return -1;
}
+ private static String AddHeader(Runtime runtime,String msg){
+ /*( CHAR 1
+%04X HEX_STRING 4
+0106 C_STRING 4
+ C_STRING 15*/
+ String len= String.format("%04x",msg.length());
+ return new StringBuffer(CMDHEADER).append(len).append("0106").append(runtime.IMEI()).append(msg).append(
+ CMDEND).toString();
+
+ }
+
/*登录*/
public static StringMessage BP00(Runtime ds) {
- //示例数据:IWAP00867155030001063#
- return genStringMessage(cmdMap.get(CMD_TYPE.AP00),
- new StringBuffer(CMDHEADER).append(
- cmdMap.get(CMD_TYPE.AP00)
- ).append(ds.IMEI()).append(
- CMDEND).toString());
+ //示例数据:BP00,AAAA,BB,CC
+ //AAAA:终端软件版本信息
+ //BB:电池电量等级(0-7)
+ //0:低电关机
+ //1:呼叫限制
+ //2:低电报警
+ //3: 0格显示
+ //4: 1格显示
+ //5:2格显示
+ //6: 3格显示
+ //7: 4格显示
+ //CC:MCCMNC
+
+ int batstat=0;
+ int batlevel=ds.getBatterylevel();
+ if (batlevel>0 && batlevel<= 15){
+ batstat=3;
+ }else if (batlevel>15 && batlevel<= 35){
+ batstat=4;
+ }else if (batlevel>35 && batlevel<= 55){
+ batstat=5;
+ }else if (batlevel>55 && batlevel<= 85){
+ batstat=6;
+ }else {
+ batstat=7;
+ }
+ String msg=new StringBuffer(cmdMap.get(CMD_TYPE.BP00)).append(CMDSPLIT)
+ .append(DeviceInfoUtil.getSWVersionDisplayName()).append(CMDSPLIT)
+ .append(batstat).append(CMDSPLIT)
+ .append(ds.getMccAndMnc())
+ .toString();
+
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP00), AddHeader(ds,msg));
}
//处理 登录 BP00
- public void handleBP00(Runtime runtime, String cmd) {
+ public void handleAP03(Runtime runtime, String cmd) {
String[] msg = cmd.split(CMDSPLIT);
-// get Msg :IWBP00,20191229171933,8# (size)24
-// 12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 , IWBP00,20191229171933,8
-
- if (msg.length >= 3) {
- log("handleBP00", "Set Datetime " + msg[1]);
- log("handleBP00", "Set TimeZone " + msg[2]);
+// (003E357593060153353AP03,150728,152900,e0800,0000000000000003)
+// 表示当前UTC时间为2015年7月28日,15点29分00秒,时区是东8区,此时间用于手表时间同步
+ if (msg.length == 5) {
+ log("handleBP00", "Set Datetime " + msg[1] + msg[2]);
+ log("handleBP00", "Set TimeZone " + msg[3]);
try {
- Date datetime = TimeUtil.parseDatetiime(msg[1]);
- int timezone = Integer.parseInt(msg[2]);
+ Date datetime = TimeUtil.parseDatetiime("20"+msg[1]+msg[2]);
+ // Date timezone = TimeUtil.parsetiime(msg[3].substring(1));
+
if (datetime != null) {
ICLogger.i("===" + TimeUtil.getDefaultTimeZone());
- TimeUtil.setTimeZone(runtime.getContextProxy().context, timezone);
+ TimeUtil.setTimeZone(runtime.getContextProxy().context, msg[3]);
ICLogger.i("===" + TimeUtil.getDefaultTimeZone());
- TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, timezone, true);
+ TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, msg[3], true);
ICLogger.i("===" + TimeUtil.getDefaultTimeZone());
}
// Set TimeZone 8
} else {
- log("handleBP00", "format Error");
+ log("handleAP03", "format Error");
}
}
public static StringMessage BP33(Runtime ds) {
- return genStringMessage(cmdMap.get(CMD_TYPE.AP00),
- new StringBuffer(CMDHEADER).append(
- cmdMap.get(CMD_TYPE.AP00)
- ).append(ds.IMEI()).append(
- CMDEND).toString());
- }
+//(00520106357593060153353BP33,0,000000FF,5,46000024820000DE127,151028,163100,0,0,0)
+//报警类型:0x0 无报警;0x02 SOS报警;0x08 电池低电量报警;0x20 设备脱离
+//总步数:000000FF
+//电量等级:5
+//基站接入点:46000024820000DE127
+//日期时间:151028,163100
+ int batstat=0;
+ int batlevel=ds.getBatterylevel();
+ if (batlevel>0 && batlevel<= 15){
+ batstat=0;
+ }else if (batlevel>15 && batlevel<= 35){
+ batstat=1;
+ }else if (batlevel>35 && batlevel<= 55){
+ batstat=2;
+ }else if (batlevel>55 && batlevel<= 85){
+ batstat=3;
+ }else {
+ batstat=4;
+ }
+ String netstat="46000024820000DE127";
+ String msg=new StringBuffer(cmdMap.get(CMD_TYPE.BP33)).append(CMDSPLIT)
+ .append(0).append(CMDSPLIT)
+ .append(String.format("%08X", ds.getTotalStepCount())).append(CMDSPLIT)
+ .append(batstat).append(CMDSPLIT)
+ .append(netstat).append(CMDSPLIT)
+ .append(TimeUtil.getSystemDateYYMMDD()).append(CMDSPLIT)
+ .append(TimeUtil.getSystemTimeHHmmss())
+ .toString();
+
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP33), AddHeader(ds,msg));
+ }
public static StringMessage AP03(Runtime ds) {
//示例数据:IWAP03,06000908000102,5555,30# IWAP03,000000null00000,0,0#
//IW: 标识符
.append(ds.getTotalStepCount()).append(CMDSPLIT).append(ds.getRolltimes()).append(CMDEND).toString());
}
- //处理 心跳 BP03
- public void handleBP03(String cmd) {
-
- log("BP03心跳接收成功");
+ public StringMessage BP03(boolean success){
+ if (success){
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP03),cmdMap.get(CMD_TYPE.BP03)+"00000000000000031");
+ }else{
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP03),cmdMap.get(CMD_TYPE.BP03)+"00000000000000030");
+ }
+ }
+ public void handleAP04(Runtime ds,Connection connection,String cmd) {
+ log("AP04读取版本,返回BP00");
+ connection.send(BP00(ds));
}
public static StringMessage APXL(String id) {
//设备响应: IWAPXL,080835#
//080835:指令流水号
- return genStringMessage(cmdMap.get(CMD_TYPE.APXL), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APXL))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
public static StringMessage APXY(String id) {
//设备响应: IWAPXY,080835#
//080835:指令流水号
- return genStringMessage(cmdMap.get(CMD_TYPE.APXY), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APXY))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
//设备响应: IWAPJZ,792997,120,85,42,1#
//792997:指令流水号
// 高压120,低压85,年龄42,1 男性
- return genStringMessage(cmdMap.get(CMD_TYPE.APJZ), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APJZ))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(BPH)
.append(CMDSPLIT).append(BPL)
//恢复出厂设置
public static StringMessage AP17(String index) {
- return genStringMessage(cmdMap.get(CMD_TYPE.AP17), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP17))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDEND).toString());
}
public static StringMessage AP31(String index) {
- return genStringMessage("AP31", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP31))
+ return genStringMessage("AP31", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDEND).toString());
}
public static StringMessage AP85(Runtime ds, String cmddata) {
//示例数据:IWAP49,68##
- return genStringMessage("AP85", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP85))
+ return genStringMessage("AP85", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(cmddata)
.append(CMDEND).toString());
//IWAP33,080835,1#
//080835:指令流水号
//1:设置信息,供服务器同步
- return genStringMessage("AP33", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP33))
+ return genStringMessage("AP33", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(cmdindex)
.append(CMDSPLIT).append(workMode)
.append(CMDEND).toString());
//IWAP34,588854,1#
//080835:指令流水号
//8:模式
- return genStringMessage("AP34", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP34))
+ return genStringMessage("AP34", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(cmdindex)
.append(CMDSPLIT).append(workMode)
.append(CMDEND).toString());
// IWAP40,080835,1#
// 080835:指令流水号
// 1:表示设备接受数据成功,0表示设备接受数据失败
- return genStringMessage("AP40", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP40))
+ return genStringMessage("AP40", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(cmdindex)
.append(CMDSPLIT).append(success)
.append(CMDEND).toString());
*/
public static StringMessage AP49(Runtime ds) {
//示例数据:IWAP49,68##
- return genStringMessage(cmdMap.get(CMD_TYPE.AP49), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP49))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ds.getHRS().getPPG())
.append(CMDEND).toString());
//85 : 血压低压 [舒张压]
//平台响应: IWBPHT#
//表示平台已接收,可不作响应
- return genStringMessage(cmdMap.get(CMD_TYPE.APHT), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHT))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ds.getHRS().getPPG())
.append(CMDSPLIT).append(ds.getHRS().getBPH())
.append(CMDSPLIT).append(ds.getHRS().getBPL())
//85 : 血压低压 [舒张压]
//平台响应: IWBPHT#
//表示平台已接收,可不作响应
- return genStringMessage(cmdMap.get(CMD_TYPE.APHT), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHT))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ppg)
.append(CMDSPLIT).append(bph)
.append(CMDSPLIT).append(bpl)
//9750: LAC
//3613: CID
- return genStringMessage(cmdMap.get(CMD_TYPE.APTM), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTM))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ds.getLocationInstance().getMCC())
.append(CMDSPLIT).append(ds.getLocationInstance().getMNC())
.append(CMDSPLIT).append(ds.getLocationInstance().getLAC())
/*语音下行反馈*/
public static StringMessage AP28(String name, String msg, int packagecount, int currentpackageindex, int received_success) {
//示例数据:IWAP28,D3590D54,xxxx,6,1,1#
- return genStringMessage("AP28", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP28))
+ return genStringMessage("AP28", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(name)
.append(CMDSPLIT).append(msg)
.append(CMDSPLIT).append(packagecount)
//设备响应: IWAP80,080835,1#
//080835:指令流水号
//1:表示设备执行成功,0 表示设备执行失败
- return genStringMessage("AP84", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP84))
+ return genStringMessage("AP84", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDSPLIT).append(success)
.append(CMDEND).toString());
//设备响应: IWAP86, 080835,1#
//080835:指令流水号
- return genStringMessage("AP86", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP68))
+ return genStringMessage("AP86", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDSPLIT).append(cmd)
.append(CMDEND).toString());
//设备响应: IWAP86, 080835#
//080835:指令流水号
- return genStringMessage("AP86", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP86))
+ return genStringMessage("AP86", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDEND).toString());
}
//设备响应: IWAP86, 080835#
//080835:指令流水号
- return genStringMessage("AP87", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP87))
+ return genStringMessage("AP87", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDEND).toString());
}
public static StringMessage AP88(String index) {
//设备响应: IWAP88, 080835#
//080835:指令流水号
- return genStringMessage("AP88", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP88))
+ return genStringMessage("AP88", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDEND).toString());
}
//设备响应: IWAP89, 080835#
//080835:指令流水号
- return genStringMessage("AP89", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP89))
+ return genStringMessage("AP89", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDEND).toString());
}
//设备响应: IWAPTE,080835,60#
//080835:指令流水号
//1:表示设备接受数据成功,0表示设备接受数据失败
- return genStringMessage("APTE", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTE))
+ return genStringMessage("APTE", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDSPLIT).append(freq)
.append(CMDEND).toString());
//APTP : 命令字符
//35.3:测量体温 (摄氏度)
//33,132:温补用的参数,此处不用,可以用0 来代替。 目前是代表的腕温,室外温度
- return genStringMessage(cmdMap.get(CMD_TYPE.APTP), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTP))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(String.format("%1$.1f", body_temp))
.append(CMDSPLIT).append(String.format("%1$.1f", wrist_temp))
.append(CMDSPLIT).append(String.format("%1$.1f", tempout))
public static StringMessage APX1(String id) {
//设备响应: IWAPX1, 080835#
//080835:指令流水号
- return genStringMessage("APX1", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APX1))
+ return genStringMessage("APX1", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
public static StringMessage APS4(String id) {
//设备响应: IWAPS4,080835#
//080835:指令流水号
- return genStringMessage("APS4", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APS4))
+ return genStringMessage("APS4", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
//95:血氧
//90:血糖
// 本消息适用所有终端,其中需要每项指标不一定全部有值,如果无值,则留空
- return genStringMessage(cmdMap.get(CMD_TYPE.APHP), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHP))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ds.getHRS().getPPG())
.append(CMDSPLIT).append(ds.getHRS().getBPH())
.append(CMDSPLIT).append(ds.getHRS().getBPL())
//95:血氧
//90:血糖
// 本消息适用所有终端,其中需要每项指标不一定全部有值,如果无值,则留空
- return genStringMessage(cmdMap.get(CMD_TYPE.APHP), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHP))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(ppg)
.append(CMDSPLIT).append(bph)
.append(CMDSPLIT).append(bpl)
* 080835:指令流水号
* 说明: 本消息适用所有终端
*/
- return genStringMessage("APDE", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APDE))
+ return genStringMessage("APDE", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
}
public static StringMessage APDG(String id) {
- return genStringMessage("APDG", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APDG))
+ return genStringMessage("APDG", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDEND).toString());
}
* 收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。
* 如果设备回复确认数据包接收失败状态,则重复发送上一个数据包
*/
- String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTU))
+ String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT)
.append(CMDSPLIT).append(packetTime)
.append(CMDSPLIT).append(filetype)
* 换算分数后发送到服务器
* #:结束符
*/
- String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APSL))
+ String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(date)
.append(CMDSPLIT).append(deepsleep)
.append(CMDSPLIT).append(lightsleep)
.append(CMDSPLIT).append(score)
.append(CMDEND).toString();
- return genStringMessage(cmdMap.get(CMD_TYPE.APSL), sb);
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14), sb);
}
public static StringMessage AP46(String id, String cmd) {
- return genStringMessage(cmdMap.get(CMD_TYPE.AP46),
- new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP46))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14),
+ new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cmd)
.append(CMDEND).toString());
public static StringMessage APDH(String id, String cmd) {
- return genStringMessage(cmdMap.get(CMD_TYPE.APDH),
- new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APDH))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14),
+ new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cmd)
.append(CMDEND).toString());
if (!lang.contains("zh")) {
language = 1;
}
- return genStringMessage("APTQ", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APTQ))
+ return genStringMessage("APTQ", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(runtime.getLocationInstance().getMCC())
.append(CMDSPLIT).append(runtime.getLocationInstance().getMNC())
.append(CMDSPLIT).append(runtime.getLocationInstance().getLAC())
*/
//在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。
- return genStringMessage(cmdMap.get(protocol_gator.CMD_TYPE.AP94), new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_gator.CMD_TYPE.AP94))
+ return genStringMessage(cmdMap.get(protocol_gator.CMD_TYPE.AP14), new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_gator.CMD_TYPE.AP14))
.append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
.append(CMDSPLIT).append("1")
.append(CMDEND).toString());
public static StringMessage APAT(String id, String cmd) {
- return genStringMessage("APAT", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APAT))
+ return genStringMessage("APAT", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cmd)
.append(CMDEND).toString());
public static StringMessage APCH(int charging) {
- return genStringMessage(cmdMap.get(CMD_TYPE.APCH),
- new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APCH))
+ return genStringMessage(cmdMap.get(CMD_TYPE.AP14),
+ new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(charging)
.append(CMDEND).toString());
}
public static StringMessage APBT(String id, String cycle) {
- return genStringMessage("APBT", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APBT))
+ return genStringMessage("APBT", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cycle)
.append(CMDEND).toString());
for (String it : runtime.bleInfo.btScanResult) {
sb.append(CMDSPLIT).append(it);
}
- return genStringMessage("APBR", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APBR))
+ return genStringMessage("APBR", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(runtime.IMEI())
.append(CMDSPLIT).append(TimeUtil.getSystemTimeyyyyMMddHHmmss())
.append(CMDSPLIT).append(sb.toString())
}
public static StringMessage APBS(String id, String cycle) {
- return genStringMessage("APBS", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APBS))
+ return genStringMessage("APBS", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cycle)
.append(CMDEND).toString());
* 说明: 本消息适用所有终端
*/
public static StringMessage APWL(String index, String[] phnumbs) {
- return genStringMessage("APWL", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APWL))
+ return genStringMessage("APWL", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(index)
.append(CMDSPLIT).append(phnumbs[0])
.append(CMDSPLIT).append(phnumbs[1])
public static StringMessage AP65(String id, String cy) {
- return genStringMessage("AP65", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP65))
+ return genStringMessage("AP65", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cy)
.append(CMDEND).toString());
}
public static StringMessage AP47(String id, String cycle) {
- return genStringMessage("AP47", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP47))
+ return genStringMessage("AP47", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP14))
.append(CMDSPLIT).append(id)
.append(CMDSPLIT).append(cycle)
.append(CMDEND).toString());
if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + cmd);
cmd = cmd.replace(" ", "");
switch (type) {
- case BP00: //登录包
- handleBP00(mRuntime, cmd);
- ICLogger.i("服务器收到登录包AP00");
+ case AP03: //登录包
+ handleAP03(mRuntime, cmd);
+ ICLogger.i("服务器收到登录包");
mConnection.DeliverCMDMessageToSystem("login", cmd);//通知下面线程状态变化
break;
- case BP01: //gps定位包
+ case AP14: //gps定位包
handleBP01(cmd);
ICLogger.i("服务器收到定位AP01");
mConnection.DeliverCMDMessageToSystem("AP01", cmd);//通知下面线程状态变化
break;
- case BP02:// wifi定位包
- handleBP02(cmd);
- ICLogger.i("服务器收到定位AP02");
- mConnection.DeliverCMDMessageToSystem("AP02", cmd);//通知下面线程状态变化
- break;
- case BP03: //心跳包
- handleBP03(cmd);
- ICLogger.i("服务器收到心跳包AP03");
- mConnection.DeliverCMDMessageToSystem("heartbeat", cmd);//通知下面线程状态变化
- break;
-
- case BP07:
- //收到发送的语音包
- handleBP07(cmd, mConnection);
- break;
- case BP10:
- //报警包
- mConnection.DeliverCMDMessageToSystem("AP10", cmd);//通知下面线程状态变化
- break;
- case BPBR:
- mConnection.DeliverCMDMessageToSystem("APBR", cmd);//通知下面线程状态变化
- break;
- case BPTM:
- //校时命令
- handleBPTM(cmd);
- ICLogger.i("服务器收到校时命令APTM");
- mConnection.DeliverCMDMessageToSystem("APTM", cmd);//通知下面线程状态变化
- break;
- case BP85://设置闹钟
- handleBP85(cmd, mConnection, mRuntime);
- ICLogger.i("收到服务器设置闹钟命令BP85");
- mConnection.DeliverCMDMessageToSystem("AP85", cmd);//通知下面线程状态变化
- break;
-
- case BP87:
- handleBP87(cmd, mConnection, mRuntime);
- ICLogger.i("收到服务器 QRCode uri BP87");
- break;
- case BP33:
- //设置工作模式
- handleBP33(mConnection, mRuntime, cmd);
- mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd);//通知下面线程状态变化
-
- break;
- case BP34:
- //设置工作模式
- handleBP34(mConnection, mRuntime, cmd);
- mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd);//通知下面线程状态变化
- break;
- case BP16:
- //立即定位指令(长链接有效)
- handleBP16(mConnection, mRuntime, cmd);
- mConnection.DeliverCMDMessageToSystem("StartLocate", cmd);//通知下面线程状态变化
- break;
-
- case BP46: //立即拍照
- ICLogger.i("立即拍照!");
- handleBP46(cmd, mConnection, mRuntime);
- break;
-
- case BP12:
- //收到设置SOS号码
- handleBP12(mConnection, cmd, mRuntime);
- ICLogger.i("收到服务器设置SOS号码命令BP12");
+ case AP04://查询终端版本消息
+ handleAP04(mRuntime,mConnection,cmd);
break;
- case BP14:
- //收到设置白名单号码
- handleBP14(mConnection, cmd, mRuntime);
- ICLogger.i("收到服务器设置白名单号码命令BP14");
- break;
- case BPWL:
- //收到设置白名单号码
- handleBPWL(mConnection, cmd, mRuntime);
- ICLogger.i("收到服务器设置白名单号码命令BPWL");
- break;
- case BP15:
- handleBP15(cmd, mConnection, mRuntime);
- ICLogger.i("收到服务器设置定位命令BP15");
- break;
- case BP17:
- //收到恢复出厂设置
- handleBP17(mConnection, cmd);
- ICLogger.i("收到服务器恢复出厂设置命令BP17");
- mConnection.DeliverCMDMessageToSystem("FactoryReset", cmd);//通知下面线程状态变化
- break;
-
- case BP18:
- //收到重启
- handleBP18(mConnection, cmd);
- ICLogger.i("收到服务器重启命令BP18");
- mConnection.DeliverCMDMessageToSystem("Reboot", cmd);//通知下面线程状态变化
- break;
-
- case BP31:
- //收到关机
- handleBP31(mConnection, cmd);
- ICLogger.i("收到服务器关机命令BP31");
- mConnection.DeliverCMDMessageToSystem("poweroff", cmd);//通知下面线程状态变化
- break;
- case BP40:
- //服务器推送文本
- handleBP40(mConnection, mRuntime, cmd);
- ICLogger.i("收到服务器推送文本消息");
- mConnection.DeliverCMDMessageToSystem("showTxt", cmd);//通知下面线程状态变化
- break;
-
- case BPXL:
- handleBPXL(cmd, mConnection);
- ICLogger.i("收到服务器心率检测命令");
- if (mRuntime.check_stat_do_ppg_test())
- HeartRateManager.getInstance().triggerPPGTest(FROM_SERVER);
- break;
- case BPXY:
- handleBPXY(cmd, mConnection);
- ICLogger.i("收到服务器血压检测命令");
- if (mRuntime.check_stat_do_ppg_test())
- HeartRateManager.getInstance().triggerPPGTest(FROM_SERVER);
- break;
- case BPJZ:
- handleBPJZ(cmd, mConnection, mRuntime);
- ICLogger.i("收到服务器血压校准命令");
- break;
- case BPHT:
- ICLogger.i("服务器收到上传的心率血压");
- mConnection.DeliverCMDMessageToSystem("APHT", cmd);//通知下面线程状态变化
- break;
- case BP84:
- handleBP84(cmd, mConnection);
- ICLogger.i("收到服务器白名单命令");
- break;
-
- case BP86:
- //心率周期
- handleBP86(cmd, mConnection, mRuntime);
- mConnection.DeliverCMDMessageToSystem("AP86", cmd);//通知下面线程状态变化
-
- break;
- case BP68: //绑定解绑
- handleBP68(cmd, mConnection, mRuntime);
- break;
- case BP88:
- //收到查找设备消息
- handleBP88(cmd, mConnection);
- mConnection.DeliverCMDMessageToSystem("findDev", cmd);//通知下面线程状态变化
- break;
- case BP89:
- //心率/血压阀值
- handleBP89(cmd, mConnection);
- mConnection.DeliverCMDMessageToSystem("AP89", cmd);//通知下面线程状态变化
- break;
-
- case BPTE: //设置测试体温
- handleBPTE(cmd, mConnection, mRuntime);
- mConnection.DeliverCMDMessageToSystem("APTE", cmd);//通知下面线程状态变化
- break;
- case BPTP:
- handleBPTP();
- mConnection.DeliverCMDMessageToSystem("APTP", cmd);//通知下面线程状态变化
- break;
- case BPHP:
- handleBPHP();
- mConnection.DeliverCMDMessageToSystem("APHP", cmd);//通知下面线程状态变化
- break;
- case BPX1://设置 心率血压血氧修正值
- handleBPX1(cmd, mConnection, mRuntime);
- ICLogger.i("收到服务器设置 心率血压血氧修正值BPX1");
- mConnection.DeliverCMDMessageToSystem("APX1", cmd);//通知下面线程状态变化
- break;
-
- case BPS4: //提醒设置(时间段) 主要为久坐设置提醒时长。
- handleBPS4(cmd, mConnection, mRuntime);
- ICLogger.i("收到 提醒设置(时间段)");
- mConnection.DeliverCMDMessageToSystem("APS4", cmd);//通知下面线程状态变化
- break;
- case BPDE:
- handleBPDE(mConnection, cmd, mRuntime);
- ICLogger.i(" 收到 进出围栏通知!");
- mConnection.DeliverCMDMessageToSystem("APDE", cmd);//通知下面线程状态变化
- break;
-
- case BPTU:
- handleBPTU(cmd, mConnection);
- ICLogger.i("收到服务器 图片语音 消息 BPTU");
- // mConnection.DeliverCMDMessageToSystem("APTU", "");//通知下面线程状态变化
- break;
- case BPDG:
- handleBPDG(mConnection, cmd, mRuntime);
- ICLogger.i(" 收到 体温阈值设置!");
- mConnection.DeliverCMDMessageToSystem("APDG", cmd);//通知下面线程状态变化
- break;
- case BPSL:
- ICLogger.i("睡眠数据上传完毕!");
- mConnection.DeliverCMDMessageToSystem("APSL", cmd);//通知下面线程状态变化
- break;
-
- case BPDH:
- ICLogger.i("聆听");
- handleBPDH(mConnection, mRuntime, cmd);
- break;
-
- case BPTQ: //天气下发
- handleBPTQ(mConnection, mRuntime, cmd);
- break;
- case BPAT://剪断开关设定
- handleBPAT(mConnection, mRuntime, cmd);
- break;
-
- case BPBT://蓝牙扫描设置
- handleBPBT(mConnection, mRuntime, cmd);
- break;
- case BPBS://蓝牙扫描设置Majorlist
- handleBPBS(mConnection, mRuntime, cmd);
- break;
-
- case BP65://声音设置
- handleBP65(mConnection, mRuntime, cmd);
- break;
- case BP47://震动设置
- handleBP47(mConnection, mRuntime, cmd);
- break;
-
+// case AP14:// wifi定位包
+// handleBP02(cmd);
+// ICLogger.i("服务器收到定位AP02");
+// mConnection.DeliverCMDMessageToSystem("AP02", cmd);//通知下面线程状态变化
+// break;
+// case AP14: //心跳包
+// handleBP03(cmd);
+// ICLogger.i("服务器收到心跳包AP03");
+// mConnection.DeliverCMDMessageToSystem("heartbeat", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// //收到发送的语音包
+// handleBP07(cmd, mConnection);
+// break;
+// case AP14:
+// //报警包
+// mConnection.DeliverCMDMessageToSystem("AP10", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// mConnection.DeliverCMDMessageToSystem("APBR", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// //校时命令
+// handleBPTM(cmd);
+// ICLogger.i("服务器收到校时命令APTM");
+// mConnection.DeliverCMDMessageToSystem("APTM", cmd);//通知下面线程状态变化
+// break;
+// case AP14://设置闹钟
+// handleBP85(cmd, mConnection, mRuntime);
+// ICLogger.i("收到服务器设置闹钟命令BP85");
+// mConnection.DeliverCMDMessageToSystem("AP85", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// handleBP87(cmd, mConnection, mRuntime);
+// ICLogger.i("收到服务器 QRCode uri BP87");
+// break;
+// case BP33:
+// //设置工作模式
+// handleBP33(mConnection, mRuntime, cmd);
+// mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd);//通知下面线程状态变化
+//
+// break;
+// case BP34:
+// //设置工作模式
+// handleBP34(mConnection, mRuntime, cmd);
+// mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// //立即定位指令(长链接有效)
+// handleBP16(mConnection, mRuntime, cmd);
+// mConnection.DeliverCMDMessageToSystem("StartLocate", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14: //立即拍照
+// ICLogger.i("立即拍照!");
+// handleBP46(cmd, mConnection, mRuntime);
+// break;
+//
+// case AP14:
+// //收到设置SOS号码
+// handleBP12(mConnection, cmd, mRuntime);
+// ICLogger.i("收到服务器设置SOS号码命令BP12");
+// break;
+// case AP14:
+// //收到设置白名单号码
+// handleBP14(mConnection, cmd, mRuntime);
+// ICLogger.i("收到服务器设置白名单号码命令BP14");
+// break;
+// case AP14:
+// //收到设置白名单号码
+// handleBPWL(mConnection, cmd, mRuntime);
+// ICLogger.i("收到服务器设置白名单号码命令BPWL");
+// break;
+// case AP14:
+// handleBP15(cmd, mConnection, mRuntime);
+// ICLogger.i("收到服务器设置定位命令BP15");
+// break;
+// case AP14:
+// //收到恢复出厂设置
+// handleBP17(mConnection, cmd);
+// ICLogger.i("收到服务器恢复出厂设置命令BP17");
+// mConnection.DeliverCMDMessageToSystem("FactoryReset", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// //收到重启
+// handleBP18(mConnection, cmd);
+// ICLogger.i("收到服务器重启命令BP18");
+// mConnection.DeliverCMDMessageToSystem("Reboot", cmd);//通知下面线程状态变化
+// break;
+//
+// case BP31:
+// //收到关机
+// handleBP31(mConnection, cmd);
+// ICLogger.i("收到服务器关机命令BP31");
+// mConnection.DeliverCMDMessageToSystem("poweroff", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// //服务器推送文本
+// handleBP40(mConnection, mRuntime, cmd);
+// ICLogger.i("收到服务器推送文本消息");
+// mConnection.DeliverCMDMessageToSystem("showTxt", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// handleBPXL(cmd, mConnection);
+// ICLogger.i("收到服务器心率检测命令");
+// if (mRuntime.check_stat_do_ppg_test())
+// HeartRateManager.getInstance().triggerPPGTest(FROM_SERVER);
+// break;
+// case AP14:
+// handleBPXY(cmd, mConnection);
+// ICLogger.i("收到服务器血压检测命令");
+// if (mRuntime.check_stat_do_ppg_test())
+// HeartRateManager.getInstance().triggerPPGTest(FROM_SERVER);
+// break;
+// case AP14:
+// handleBPJZ(cmd, mConnection, mRuntime);
+// ICLogger.i("收到服务器血压校准命令");
+// break;
+// case AP14:
+// ICLogger.i("服务器收到上传的心率血压");
+// mConnection.DeliverCMDMessageToSystem("APHT", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// handleBP84(cmd, mConnection);
+// ICLogger.i("收到服务器白名单命令");
+// break;
+//
+// case AP14:
+// //心率周期
+// handleBP86(cmd, mConnection, mRuntime);
+// mConnection.DeliverCMDMessageToSystem("AP86", cmd);//通知下面线程状态变化
+//
+// break;
+// case AP14: //绑定解绑
+// handleBP68(cmd, mConnection, mRuntime);
+// break;
+// case AP14:
+// //收到查找设备消息
+// handleBP88(cmd, mConnection);
+// mConnection.DeliverCMDMessageToSystem("findDev", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// //心率/血压阀值
+// handleBP89(cmd, mConnection);
+// mConnection.DeliverCMDMessageToSystem("AP89", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14: //设置测试体温
+// handleBPTE(cmd, mConnection, mRuntime);
+// mConnection.DeliverCMDMessageToSystem("APTE", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// handleBPTP();
+// mConnection.DeliverCMDMessageToSystem("APTP", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// handleBPHP();
+// mConnection.DeliverCMDMessageToSystem("APHP", cmd);//通知下面线程状态变化
+// break;
+// case AP14://设置 心率血压血氧修正值
+// handleBPX1(cmd, mConnection, mRuntime);
+// ICLogger.i("收到服务器设置 心率血压血氧修正值BPX1");
+// mConnection.DeliverCMDMessageToSystem("APX1", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14: //提醒设置(时间段) 主要为久坐设置提醒时长。
+// handleBPS4(cmd, mConnection, mRuntime);
+// ICLogger.i("收到 提醒设置(时间段)");
+// mConnection.DeliverCMDMessageToSystem("APS4", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// handleBPDE(mConnection, cmd, mRuntime);
+// ICLogger.i(" 收到 进出围栏通知!");
+// mConnection.DeliverCMDMessageToSystem("APDE", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// handleBPTU(cmd, mConnection);
+// ICLogger.i("收到服务器 图片语音 消息 BPTU");
+// // mConnection.DeliverCMDMessageToSystem("APTU", "");//通知下面线程状态变化
+// break;
+// case AP14:
+// handleBPDG(mConnection, cmd, mRuntime);
+// ICLogger.i(" 收到 体温阈值设置!");
+// mConnection.DeliverCMDMessageToSystem("APDG", cmd);//通知下面线程状态变化
+// break;
+// case AP14:
+// ICLogger.i("睡眠数据上传完毕!");
+// mConnection.DeliverCMDMessageToSystem("APSL", cmd);//通知下面线程状态变化
+// break;
+//
+// case AP14:
+// ICLogger.i("聆听");
+// handleBPDH(mConnection, mRuntime, cmd);
+// break;
+//
+// case AP14: //天气下发
+// handleBPTQ(mConnection, mRuntime, cmd);
+// break;
+// case AP14://剪断开关设定
+// handleBPAT(mConnection, mRuntime, cmd);
+// break;
+//
+// case AP14://蓝牙扫描设置
+// handleBPBT(mConnection, mRuntime, cmd);
+// break;
+// case AP14://蓝牙扫描设置Majorlist
+// handleBPBS(mConnection, mRuntime, cmd);
+// break;
+//
+// case AP14://声音设置
+// handleBP65(mConnection, mRuntime, cmd);
+// break;
+// case AP14://震动设置
+// handleBP47(mConnection, mRuntime, cmd);
+// break;
+//
}
ICLogger.i("handleCmd " + type.name() + " " + cmd + " bytelen=" + bytes.length);
if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + new String(bytes));
switch (type) {
- case BP28:
- handleBP28(mConnection, cmd, mRuntime, bytes);
- ICLogger.i("收到服务器语音BP28");
-// mConnection.DeliverCMDMessageToSystem("BP28", "");//通知下面线程状态变化
- break;
+// case BP28:
+// handleBP28(mConnection, cmd, mRuntime, bytes);
+// ICLogger.i("收到服务器语音BP28");
+//// mConnection.DeliverCMDMessageToSystem("BP28", "");//通知下面线程状态变化
+// break;
}
return ret;
}