android:sharedUserId="android.uid.system"
android:supportsRtl="true">
<!-- 按用户发送消息 -->
- <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> <!-- 允许程序读取或写入系统设置 -->
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
+ <!-- 允许程序读取或写入系统设置 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
- <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <!-- 联网的权限 -->
+ <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+ <!-- 联网的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.INTERNET" /> <!-- 打电话权限 -->
- <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 监听电话状态权限 -->
+ <uses-permission android:name="android.permission.INTERNET" />
+ <!-- 打电话权限 -->
+ <uses-permission android:name="android.permission.CALL_PHONE" />
+ <!-- 监听电话状态权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
- <uses-permission android:name="android.permission.READ_CALL_LOG" /> <!-- 联系人 -->
+ <uses-permission android:name="android.permission.READ_CALL_LOG" />
+ <!-- 联系人 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
- <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <!-- 灭屏 -->
- <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- <user-permission android:name="android.permission.DEVICE_POWER"/> -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 删除进程 -->
- <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" /> <!-- 监听FOTA消息 -->
- <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <!-- 语言切换用 -->
+ <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+ <!-- 灭屏 -->
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <!-- <user-permission android:name="android.permission.DEVICE_POWER"/> -->
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <!-- 删除进程 -->
+ <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
+ <!-- 监听FOTA消息 -->
+ <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
+ <!-- 语言切换用 -->
<uses-permission android:name="android.permission.SET_TIME_ZONE" />
- <permission android:name="com.adups.fota.permission" /> <!-- 振动 -->
- <uses-permission android:name="android.permission.VIBRATE" /> <!-- 高德定位SDK需要的权限 BEGIN -->
+ <permission android:name="com.adups.fota.permission" />
+ <!-- 振动 -->
+ <uses-permission android:name="android.permission.VIBRATE" />
+ <!-- 高德定位SDK需要的权限 BEGIN -->
<!-- 用于进行网络定位 -->
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 -->
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 -->
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <!-- 用于访问GPS定位 -->
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 -->
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> -->
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> -->
<!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 用于访问网络,网络定位需要上网 -->
+ <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+ <!-- 用于访问网络,网络定位需要上网 -->
<!-- <uses-permission android:name="android.permission.INTERNET"></uses-permission> -->
<!-- 用于读取手机当前的状态 -->
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> -->
<!-- 用于写入缓存数据到扩展存储卡 -->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> -->
<!-- 用于申请调用A-GPS模块 -->
- <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 用于申请获取蓝牙信息进行室内定位 -->
+ <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
+ <!-- 用于申请获取蓝牙信息进行室内定位 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 高德定位SDK需要的权限 END -->
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+ <!-- 高德定位SDK需要的权限 END -->
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
StringBuilder cdmaSB = new StringBuilder();
runtime.setMccAndMnc(gsmSb.toString());
-
+ int mcc=0;
+ int mnc=0;
+ try {
+ mcc = Integer.parseInt(runtime.getLocationInstance().getMCC());
+ mnc = Integer.parseInt(runtime.getLocationInstance().getMNC());
+ }catch (Exception e){
+ ICLogger.e(e.getMessage(),e);
+ }
if (celllocation instanceof GsmCellLocation) {
GsmCellLocation gsmCell = (GsmCellLocation)celllocation;
runtime.setCdmaInfo(null);
gsmSb.append(",");
gsmSb.append(150-Math.abs(getSignal(telephonyManager,runtime)));
runtime.setCellinfo(gsmSb.toString());
-
runtime.getLocationInstance().setCID(gsmCell.getCid());
runtime.getLocationInstance().setLAC(gsmCell.getLac());
runtime.getLocationInstance().setRxlevel(150-Math.abs(getSignal(telephonyManager,runtime)));
List neighboringCell_list = telephonyManager.getNeighboringCellInfo();
//AP02 Multi GSM Station
- StringBuilder gsmSbMulti = new StringBuilder();
+ StringBuilder gsmSbMulti = new StringBuilder(); //头
+ StringBuilder gsmSbMulti_data = new StringBuilder(); //内容
- StringBuilder gsmSbMultiFZD = new StringBuilder();
- StringBuilder gsmSbMulti_data = new StringBuilder();
+ StringBuilder gsmSbMultiFZD = new StringBuilder();//头
+ StringBuilder gsmSbMultiFZD_data = new StringBuilder();//内容
+
+ StringBuilder gsmSbMultiGator = new StringBuilder(); //头
+ StringBuilder gsmSbMultiGator_data = new StringBuilder(); //内容
- StringBuilder gsmSbMultiFZD_data = new StringBuilder();
int size=1;
if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) {
sortByRssi(neighboringCell_list);
gsmSbMultiFZD_data.append(",");
gsmSbMultiFZD_data.append( 150-Math.abs(mNeighboringCellInfo.getRssi()));
+// Gator MCC(%03d)+MNC(%03d)+LACID(%04X)+CELLID(%07X)+RX LEVEL(%02X)
+
+ gsmSbMultiGator_data.append(String.format("%1$03d",mcc))
+ .append(String.format("%1$03d",mnc))
+ .append(String.format("%1$04X",mNeighboringCellInfo.getLac()))
+ .append(String.format("%1$07X",mNeighboringCellInfo.getCid()))
+ .append(String.format("%1$02X",150-Math.abs(mNeighboringCellInfo.getRssi())));
+
maxstationCount ++;
if (maxstationCount == 5) {
// break;
gsmSbMultiFZD.append(150-Math.abs(getSignal(telephonyManager,runtime)));
gsmSbMultiFZD.append(gsmSbMultiFZD_data.toString());
+ gsmSbMultiGator.append(String.format("%1$03d",mcc))
+ .append(String.format("%1$03d",mnc))
+ .append(String.format("%1$04X",gsmCell.getLac()))
+ .append(String.format("%1$07X",gsmCell.getCid()))
+ .append(String.format("%1$02X",150-Math.abs(getSignal(telephonyManager,runtime))));
ICLogger.i("LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString());
ICLogger.i("FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString());
if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString());
if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString());
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "Gator LBS GsmCellLocation MultiStation "+ gsmSbMultiGator.toString());
runtime.setLBSMultiStationData(gsmSbMulti.toString());
runtime.setFZDLBSMultiStationData(gsmSbMultiFZD.toString());
-
+ runtime.setGatorLBSMultiStationData(gsmSbMultiGator.toString());
return gsmSb.toString();
} else if (celllocation instanceof CdmaCellLocation) {
CdmaCellLocation cdmaCelllocation = (CdmaCellLocation)celllocation;
import android.content.ComponentName;
import android.content.Context;
+import android.content.IClipboard;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.os.HandlerThread;
import android.text.TextUtils;
+import com.android.internal.telephony.uicc.RuimFileHandler;
import com.enqualcomm.support.Config;
import com.enqualcomm.support.Constants;
import com.enqualcomm.support.CoreService;
String len= String.format("%04x",encreptedStr.length()+8);
return encreptionMSGHeader+len+"01"+encreptedStr;
}
+ //根据协议添加头尾以及IMEI号
+ 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 genStringMessage(String cmdName, String msg) {
//设置cmdName,在这里配置进去的msg没有实际用到
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) {
//示例数据:BP00,AAAA,BB,CC
}
//时间同步成功失败反馈
- public StringMessage BP03(Runtime ds,boolean success){
+ public StringMessage BP03(Runtime ds,String index,boolean success){
if (success){
- return genStringMessage(cmdMap.get(CMD_TYPE.BP03),AddHeader(ds,cmdMap.get(CMD_TYPE.BP03)+"00000000000000031"));
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP03),AddHeader(ds,cmdMap.get(CMD_TYPE.BP03)+index+"1"));
}else{
- return genStringMessage(cmdMap.get(CMD_TYPE.BP03),AddHeader(ds,cmdMap.get(CMD_TYPE.BP03)+"00000000000000030"));
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP03),AddHeader(ds,cmdMap.get(CMD_TYPE.BP03)+index+"0"));
}
}
//时间同步,等同于登录成功回复
if (msg.length == 5) {
log("handleBP00", "Set Datetime " + msg[1] + msg[2]);
log("handleBP00", "Set TimeZone " + msg[3]);
+ String index=msg[4];
try {
Date datetime = TimeUtil.parseDatetiime("20"+msg[1]+msg[2]);
// Date timezone = TimeUtil.parsetiime(msg[3].substring(1));
ICLogger.i("===" + TimeUtil.getDefaultTimeZone());
TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, msg[3], true);
ICLogger.i("===" + TimeUtil.getDefaultTimeZone());
- connection.send(BP03(runtime,true));
+ connection.send(BP03(runtime,index,true));
}else{
- connection.send(BP03(runtime,false));
+ connection.send(BP03(runtime,index,false));
}
} catch (Exception e) {
ICLogger.e(e.getMessage(), e);
- connection.send(BP03(runtime,false));
+ connection.send(BP03(runtime,index,false));
}
// Set Datetime 20200505112734
// Set TimeZone 8
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){
+ }else if (batlevel>15 && batlevel<= 35){
batstat=2;
- }else if (batlevel>55 && batlevel<= 85){
+ }else if (batlevel>35 && batlevel<= 55){
batstat=3;
- }else {
+ }else if (batlevel>55 && batlevel<= 85){
batstat=4;
+ }else {
+ batstat=5;
}
- String netstat="46 00 002482 0000DE127";
-
- netstat = ds.getGatorLBSData();
+ String netstat=ds.getGatorLBSData();
String msg=new StringBuffer(cmdMap.get(CMD_TYPE.BP33)).append(CMDSPLIT)
- .append(0).append(CMDSPLIT)
+ .append(ds.getGatorAlarmType()).append(CMDSPLIT)
.append(String.format("%08X", ds.getTotalStepCount())).append(CMDSPLIT)
.append(batstat).append(CMDSPLIT)
.append(netstat).append(CMDSPLIT)
log("AP04读取版本,返回BP00");
connection.send(BP00(ds));
}
- public void handleAP00(Runtime ds,Connection connection,String cmd) {
- log("AP00读取版本,返回BP30");
+ public void handleAP00(Connection connection,Runtime ds,String cmd) {
+ log("AP00立即定位,返回BP30");
+ }
+
+ /***
+ *
+ * @param ds
+ * @return
+ */
+ public StringMessage BP30(Runtime ds){
+ StringBuilder sb=new StringBuilder(cmdMap.get(CMD_TYPE.BP30)).append(CMDSPLIT);
+
+ int batstat=0;
+ int batlevel=ds.getBatterylevel();
+ if (batlevel>0 && batlevel<= 15){
+ batstat=1;
+ }else if (batlevel>15 && batlevel<= 35){
+ batstat=2;
+ }else if (batlevel>35 && batlevel<= 55){
+ batstat=3;
+ }else if (batlevel>55 && batlevel<= 85){
+ batstat=4;
+ }else {
+ batstat=5;
+ }
+ //类型 "LBS" "GPS" "WiFi"
+ String LocationType = ds.getLocationInstance().getLocationType();
+ if(LocationType.equals("LBS")) {
+ if(ds.getWifiData().isEmpty() )
+ {
+ if(ds.getGatorLBSMultiStationData().isEmpty()){
+ //no available data
+ ICLogger.e("没有有效定位信息");
+ return null;
+ }else{
+ /* 基站定位:
+(008E0106357593060153353BP30,L,2,000000FF,5,1,4,46000024820000DE127,46000024820000DDF1A,46000024820000DEB0D,46000024820000F160B,150728,152900)
+SOS报警上行基站位置消息,步数为255步,电量等级5,服务器需要下发经纬度信息给手表,定位数据采集时间为 2015 年 07 月 28 日,当地时间15:29:00.采集到的基站数为4个,第一个是主基站,其余3个为辅助基站
+基站数据格式为: MCC(%03d)+MNC(%03d)+LACID(%04X)+CELLID(%07X)+RX LEVEL(%02X), (终端最多可以搜集7个基站数据,当前接入基站和信号优的前5个周边基站将上报)
+*/
+ /*
+ 报警类型:0x0 无报警;0x02 SOS报警;0x08 电池低电量报警;0x20 设备脱离
+ */
+ sb.append("L").append(CMDSPLIT);
+ sb.append(ds.getGatorAlarmType()).append(CMDSPLIT);
+ //步数
+ sb.append(String.format("%08X", ds.getTotalStepCount())).append(CMDSPLIT);
+
+ //电池电量5级
+ sb.append(batstat).append(CMDSPLIT);
+ /*服务器需要下发经纬度信息给手表*/
+ sb.append(1).append(CMDSPLIT);
+ sb.append(ds.getGatorLBSMultiStationData());
+ sb.append(TimeUtil.getSystemDateYYMMDD()).append(CMDSPLIT);
+ sb.append(TimeUtil.getSystemTimeHHmmss());
+ }
+ }else{
+ if(ds.getLBSMultiStationData().isEmpty()){
+ /*WIFI定位:
+(00A60106357593060153353BP30,W,2,000000FF,5,1,150728,152900,3,08,wifi2462,1C:78:57:08:A5:CA,-88,05,HDB-H,D8:15:0D:5C:4D:74,-87,0D,WWW.CXGPS.COM,D8:15:0D:A8:E8:DE,-86)
+SOS报警上行WIFI数据,步数为255步,电量等级5,服务器需要下发经纬度信息给手表,数据采集时间2015年7月28日,当地时间15:29:00,共3条数据(最多6条),分别由SSID长度(%02X),SSID,MAC地址,RSSI组成
+*/
+ sb.append("W").append(CMDSPLIT);
+ sb.append(ds.getGatorAlarmType()).append(CMDSPLIT);
+ //步数
+ sb.append(String.format("%08X", ds.getTotalStepCount())).append(CMDSPLIT);
+ //电池电量5级
+ sb.append(batstat).append(CMDSPLIT);
+ /*服务器需要下发经纬度信息给手表*/
+ sb.append(1).append(CMDSPLIT);
+ sb.append(TimeUtil.getSystemDateYYMMDD()).append(CMDSPLIT);
+ sb.append(TimeUtil.getSystemTimeHHmmss()).append(CMDSPLIT);
+
+ }else{
+ /*WIFI、LBS混合定位:
+(00F80106357593060153353BP30,M,2,000000FF,5,1,150728,152900,4,46000024820000DE127,46000024820000DDF1A,46000024820000DEB0D,46000024820000F160B,3,08,wifi2462,1C:78:57:08:A5:CA,-88,05,HDB-H,D8:15:0D:5C:4D:74,-87,0D,WWW.CXGPS.COM,D8:15:0D:A8:E8:DE,-86)
+SOS报警上行WIFI、LBS混合定位数据,步数为255步,电量等级5,数据采集时间2015年7月28日,当地时间15:29:00,基站数为4个,第一个是主基站,其余3个为辅助基站,WIFI共3条数据(最多6条),分别由SSID长度(%02X),SSID,MAC地址,RSSI组成
+ */
+ sb.append("M").append(CMDSPLIT);
+ sb.append(ds.getGatorAlarmType()).append(CMDSPLIT);
+ //步数
+ sb.append(String.format("%08X", ds.getTotalStepCount())).append(CMDSPLIT);
+ //电池电量5级
+ sb.append(batstat).append(CMDSPLIT);
+ /*服务器需要下发经纬度信息给手表*/
+ sb.append(1).append(CMDSPLIT);
+ sb.append(TimeUtil.getSystemDateYYMMDD()).append(CMDSPLIT);
+ sb.append(TimeUtil.getSystemTimeHHmmss()).append(CMDSPLIT);
+ sb.append(ds.getGatorLBSMultiStationData()).append(CMDSPLIT);
+
+ }
+ }
+ }else if(LocationType.equals("GPS")){
+ /*GPS定位:
+ (006E0106357593060153353BP30,G,2,000000FF,5,46000024820000DE127,150728A2934.0133N10627.2544E000.0141830309.62)
+ SOS报警上行GPS位置数据,步数为255步,电量等级5,当前基站接入的为:46000024820000DE127
+ */
+ sb.append(ds.getGatorLBSData()).append(CMDSPLIT);
+
+ }
+
+ StringMessage ret = genStringMessage(cmdMap.get(CMD_TYPE.BP30), AddHeader(ds,sb.toString()));
+ return ret;
+ }
+ //只会成功不会失败
+ public StringMessage BP14(Runtime ds){
+ StringMessage ret = genStringMessage(cmdMap.get(CMD_TYPE.BP14), AddHeader(ds,cmdMap.get(CMD_TYPE.BP14)+"00000000000000101"));
+ return ret;
+ }
+
+ //接收服务器定位后坐标
+ public void handleAP14(Runtime ds, Connection connection,String cmd){
+ ICLogger.d(cmd);
+ connection.send(BP14(ds));
}
- public void handleAP30(){
+
+ public StringMessage BP06(Runtime ds,String index, boolean success){
+ if (success){
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP06),AddHeader(ds,cmdMap.get(CMD_TYPE.BP06)+index+"1"));
+ }else{
+ return genStringMessage(cmdMap.get(CMD_TYPE.BP06),AddHeader(ds,cmdMap.get(CMD_TYPE.BP06)+index+"0"));
+ }
}
- //定位信息
- public void BP30(Runtime ds,Connection connection,String cmd) {
- log("AP04读取版本,返回BP00");
+ //设置亲情号码
+ public void handleAP06(Runtime ds,Connection connection,String cmd) {
+ log("AP06 设置亲情号码 "+cmd);
+/*
+消息内容 Type取值:0-4
+0表示:其他人
+1表示:爸爸
+2表示:妈妈
+3表示:奶奶
+4表示:爷爷
+(013612345678AP06#number1#name1#type1#number2#name2#type2#number3#name3#type3#number4#...)最多不超过13组电话号码
+
+示例:
+(0094357593060153353AP06#13141516171#father#1#13141516172#mother#2#13141516173#grandma#3#13141516174#grandpa#4#13141516175#uncle#0,0000000000000005)
+设置控制号码为:
+father:13141516171,
+mother:13141516172,
+grandma:13141516173,
+grandpa:13141516174,
+uncle:13141516175
+响应: 失败:(002E0106357593060153353BP0600000000000000050)
+成功:(002E0106357593060153353BP0600000000000000051)
+ */
+ StringBuffer sb=new StringBuffer();
+ String cmdlist[]=cmd.split(",");
+ if (cmdlist.length==2){
+ sb.append("server msg index "+cmdlist[1]+"\n");
+ String cmdlist1[]=cmdlist[0].split("#");
+ if(cmdlist1.length%3==0) {
+ for (int i = 0; i < cmdlist1.length; i += 3) {
+ String number= cmdlist1[i];
+ String name=cmdlist1[i+1];
+ String type=cmdlist1[i+2];
+ sb.append(name+" "+number + "" + type+"\n");
+ }
+
+ }else{
+ ICLogger.e("AP06 format error1 !");
+ connection.send(BP06(ds,cmdlist[1],false));
+ }
+
+ ICLogger.d(sb.toString());
+ connection.send(BP06(ds,cmdlist[1],true));
+ }else{
+ ICLogger.e("AP06 format error!");
+ connection.send(BP06(ds,cmdlist[1],false));
+ }
+
}
// (0019357593060153353AP00) 下行一次location。
case AP30:// 定位数据接收成功
mConnection.DeliverCMDMessageToSystem("BP30", cmd);//通知下面线程状态变化
break;
-// case AP14: //gps定位包
-// handleBP01(cmd);
-// ICLogger.i("服务器收到定位AP01");
-// mConnection.DeliverCMDMessageToSystem("AP01", cmd);//通知下面线程状态变化
-// break;
-
+ case AP14: //gps定位包
+ handleAP14(mRuntime,mConnection,cmd);
+ ICLogger.i("收到服务器下发手表坐标");
+ // mConnection.DeliverCMDMessageToSystem("AP01", cmd);//通知下面线程状态变化
+ break;
+ case AP00:
+ //立即定位指令(长链接有效)
+ handleAP00(mConnection, mRuntime, cmd);
+ mConnection.DeliverCMDMessageToSystem("StartLocate", cmd);//通知下面线程状态变化
+ break;
+ case AP06:
+ //收到设置亲情号码
+ handleAP06( mRuntime, mConnection,cmd);
+ break;
// case AP14:// wifi定位包
// handleBP02(cmd);
// ICLogger.i("服务器收到定位AP02");
// handleBP34(mConnection, mRuntime, cmd);
// mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd);//通知下面线程状态变化
// break;
-// case AP14:
-// //立即定位指令(长链接有效)
-// handleBP16(mConnection, mRuntime, cmd);
-// mConnection.DeliverCMDMessageToSystem("StartLocate", cmd);//通知下面线程状态变化
-// break;
+
//
// case AP14: //立即拍照
// ICLogger.i("立即拍照!");
// 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);