@Override
public void registerCallback(IFZDCallback callback) {
//接口注册
+ runtime.setFZDRemoteCallback(callback);
}
@Override
public void unregisterCallback(IFZDCallback callback) {
//取消接口注册
+ runtime.removeFZDRemoteCallback(callback);
}
@Override
public void getContracts() {
//获取联系人
+ StringMessage cmdmMembers = protocol_fzd.MEMBERS();
+ //获取佰锐ID
+ Deliver.sendLocationMSG(cmdmMembers);
}
@Override
@Override
public void rejectCallInCome() {
//拒绝来电
+// protocol_fzd.RCALLING()
+// Deliver.sendLocationMSG();
}
@Override
- public void requireCall(int type) {
+ public void requireCall(int type, String remoteUserId) {
//请求与对方通话
+ StringMessage talk = protocol_fzd.TALK(type, remoteUserId);
+ Deliver.sendLocationMSG(talk);
}
@Override
import android.content.Context;
import com.enqualcomm.support.Config;
+import com.enqualcomm.support.IFZDCallback;
import com.enqualcomm.support.adapter.LBSHelper;
import com.enqualcomm.support.utils.ContextProxy;
import com.enqualcomm.support.utils.DBHelper;
)) {
return true;
}
- ICLogger.i("不符合条件,跳过 心率检测!" + (Config.noPPGSensor ? "无心率" : "有心率") + " 有佩戴检测?"
+ ICLogger.i("不符合条件,跳过 心率检测!" + (Config.noPPGSensor ? "无心率" : "有心率") + " 有佩戴检测?"
+ isNeedAntioff + " 脱落?"
+ isAntioff);
return false;
public int Anti_off_flag = 0;
public int Cut_off_flag = 0;
+ private IFZDCallback mFZDCallback = null;
+
+ /**
+ * 这个通知远程UI更新的callback,主要是负责音视频通讯相关的功能
+ * 防走丢的协议。
+ *
+ * @param callback
+ */
+ public void setFZDRemoteCallback(IFZDCallback callback) {
+ this.mFZDCallback = callback;
+ }
+
+ /**
+ * 这个通知远程UI更新的callback,主要是负责音视频通讯相关的功能
+ * 防走丢的协议。
+ *
+ * @param callback
+ */
+ public void removeFZDRemoteCallback(IFZDCallback callback) {
+ //如果以后有多个界面需要,可以通过集合的方式管理这些回调
+ this.mFZDCallback = null;
+ }
+
public enum AlarmType {
ALARM_SOS, //sos
ALARM_LOWBATTERY, //低电
String gpsStr = String.format("%04d.%04d%s%05d.%04d%s%03d.%01d", lati, latl, latname, loni, lonl, lonname, speedi, speedl);
sb.append("A").append(gpsStr);
} else {
- String gpsStr = String.format("%s%s%s%s%03d.%01d", latStr.substring(0, 9),latname, lonStr.substring(0, 10), lonname,speedi, speedl);
+ String gpsStr = String.format("%s%s%s%s%03d.%01d", latStr.substring(0, 9), latname, lonStr.substring(0, 10), lonname, speedi, speedl);
sb.append("A").append(gpsStr);
}
} else {
ICLogger.i("handleCmd " + type.name() + " strLen=" + data.length());
if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + cmd + " " + data);
switch (type) {
+ case BRREG:
+ ICLogger.i("收到本设备的佰锐Id == > " + data);
+ //保存一份到sp里
+ //通知一callback
+ break;
case MEMBERS:
ICLogger.i("收到群成员数据 ==> " + data);
//处理一下数据
*/
private void handleRTalk(Connection mConnection, Runtime mRuntime, String data) {
//TODO:
-
//终端回复: [XT*设备 ID*LEN*RTALK]
mConnection.send(genFZDCMD(cmdMap.get(CMD_TYPE.RTALK)));
}
* @param remoteAccount 对方账号
* @return
*/
- public static StringMessage TALK(String type, String remoteAccount) {
+ public static StringMessage TALK(int type, String remoteAccount) {
//准备数据
StringBuilder sb = new StringBuilder();
sb.append(type);
public boolean handleCmd(CMD_TYPE type, String cmd, byte[] bytes) {
-
//只有需要传递二级制数据的才需要这个函数,目前只有BP28需要
-
boolean ret = true;
ICLogger.i("handleCmd " + type.name() + " " + cmd + " bytelen=" + bytes.length);
if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + new String(bytes));