//秒数
String duration = split[2];
//数据包,对数据进行切割
- byte[] dataPackage = Util.subArray(totalByte, header.length() + contact.length() + duration.length() + 3,
+ byte[] dataPackage = Util.subArray(totalByte, header.length()
+ + contact.length() + duration.length() + 3,
totalByte.length - 1);
//对数据进行转换
String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) + "/Android/VoiceCache";
return genStringMessage(CMD, sb.toString());
}
+
public static StringMessage genFZDCMD(String CMD, String data) {
StringBuilder sb = new StringBuilder();
String data_buf = CMD + CMDSPLIT + data;
return genStringMessage(CMD, sb.toString());
}
+
+ /**
+ * 获取天气的指令,API描述:
+ * A 终端发送:[XT*YYYYYYYYYYYYYYY*LEN*WT,位置数据(见附录一)]
+ * 实例: [XT*334588000000156*009F*WT,260916,020049,V,22.683546,N,113.9907380,
+ * E,0.00,0.0,0.0,0,100,7 7,0,0,00000000,5,0,460,0,9346,4711,167,9346,4712,126,9360,4151,
+ * 125,9346,4713,122,9360,4081, 119]
+ * 平台回复:
+ * [XT*334588000000156*009F*WT,年-月-日,时:分:秒,天气描述,天气编号,
+ * 当前温度,最低温,最高温,城 市名] [XT*334588000000156*009F*WT,
+ * 16-09-24,11:00:00,b6e0d4c6,2,-5,-12,22,316df15733]
+ * 注:天气描述用 GB2312 编码,城市名使用 Unicode 编码
+ * 天气编号:0——晴 1——阴 2——雨 3——雪
+ * (注:目前返回数据只有当前温度是真实有效的,低温,高温目前是假数据,以便后续扩展)
+ *
+ * @param runtime
+ * @return
+ */
+ public static StringMessage WT(Runtime runtime) {
+ //指令
+ String cmd = cmdMap.get(CMD_TYPE.WT);
+ //位置数据
+ String locationData = getLocationData(runtime);
+ return genFZDCMD(cmd, locationData);
+ }
+
/*登录*/
public static StringMessage LK() {
/*IC*YYYYYYYYYYYYYYY*LEN*LK*/
*
*/
public static StringMessage UD(Runtime runtime) {
- StringBuilder sb = new StringBuilder();
String cmd = cmdMap.get(CMD_TYPE.UD);
+ String locationData = getLocationData(runtime);
+ return genFZDCMD(cmd, locationData);
+ }
+
+ /**
+ * 以下数据对应着防走丢协议里的:位置数据
+ * 主要是为天气,位置上传提供数据
+ *
+ * @param runtime
+ * @return
+ */
+ private static String getLocationData(Runtime runtime) {
+ StringBuilder sb = new StringBuilder();
sb.append(TimeUtil.getSystemDateYYMMDD()).append(CMDSPLIT)
.append(TimeUtil.getSystemTimeHHmmss()).append(CMDSPLIT)
.append(runtime.getFZDGPSData()).append(CMDSPLIT)
.append(runtime.getFZDDevStatus(runtime)).append(CMDSPLIT)
.append(runtime.getFZDLBSMultiStationData()).append(CMDSPLIT)
.append(runtime.getFZDWifiData());
-
- return genFZDCMD(cmd, sb.toString());
+ return sb.toString();
}
/***