import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
+import android.media.AudioManager;
import android.net.Uri;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import com.enqualcomm.support.service.HeartRateManager;
import com.enqualcomm.support.utils.Connection;
import com.enqualcomm.support.utils.ICLogger;
+import com.enqualcomm.support.utils.ProfileManager;
import com.enqualcomm.support.utils.TimeUtil;
import com.enqualcomm.support.utils.Util;
BP14/* 下发电话本*/,
BP44/* 休眠时间段*/,
BP45/* 静音开关*/,
+ AP45/*静音开关回复*/,
BP26/* 设置上课隐身时间段*/,
BP12/*设置紧急联系人*/,
BPXL/*测量心率*/,
AP14/*白名单电话本上行*/,
AP32/*拨号上行*/,
APSW/*定位开关上行*/,
- AP98/*计步目标设置上行*/
+ AP98/*计步目标设置上行*/,
+ BPHT/*心率血压上传结果*/
}
private final static HashMap<CMD_TYPE, String> cmdMap;
cmdMap.put(CMD_TYPE.APFD, "APFD");
/* 服务器发起*/
cmdMap.put(CMD_TYPE.BP12, "BP12");
+ cmdMap.put(CMD_TYPE.AP45, "AP45");
cmdMap.put(CMD_TYPE.AP16, "AP16");
cmdMap.put(CMD_TYPE.BP14, "BP14");
cmdMap.put(CMD_TYPE.BP07, "BP07");
.append(runtime.getHRS().getBPL()/*收缩压*/)
.append(CMDSPLIT)
.append(runtime.getHRS().getBPL()/*舒张压*/)
- .append(CMDSPLIT)
- .append(runtime.tempInfo.currentWristTemp/*腕部温度*/)
- .append(CMDSPLIT)
- .append(runtime.tempInfo.currentWristTempOut/*环境温度*/)
- .append(CMDSPLIT)
- .append("0"/*采集编号*/)
.append(CMDEND).toString());
}
ICLogger.d("收到计步目标指令..." + cmd);
handleBP98(cmd, mConnection);
break;
+ case BPHT:
+ ICLogger.d("服务器收到心率血压上传...");
+ break;
+ case BP45:
+ ICLogger.d("收到静音开关指令--> " + cmd);
+ handleBP45(cmd, mConnection);
+ break;
+ }
+ }
+
+ private void handleBP45(String cmd, Connection mConnection) {
+ //IWBP45,353456789012345,080835,1
+ //修改情景模式
+ AudioManager audioManager =
+ (AudioManager) mRuntime.getContextProxy()
+ .context.getSystemService(Context.AUDIO_SERVICE);
+ if (audioManager == null) {
+ ICLogger.d("audioManager == > is null");
+ return;
+ }
+ String[] split = cmd.split(CMD_SPLIT);
+ if (split.length == 4) {
+ String responseCode = split[2];
+ String value = split[3];
+ ICLogger.d("response code == > " + responseCode);
+ ICLogger.d("value == > " + value);
+ //静音开关
+ // 1: 表示静音开关状态, 1表示开,0表示关
+ if ("1".equals(value)) {
+ //静音
+ ProfileManager.vibrate(audioManager);
+ } else {
+ //正常
+ ProfileManager.ringAndVibrate(audioManager);
+ }
+ mConnection.send(genStringMessage(cmdMap.get(CMD_TYPE.AP45),
+ new StringBuilder(CMDHEADER)
+ .append(cmdMap.get(CMD_TYPE.AP45)).append(CMDSPLIT)
+ .append(responseCode).append(CMDSPLIT)
+ .append(value).append(CMDEND).toString()));
+ } else {
+ ICLogger.d("parse cmd error...");
}
}