消息类型对照表 最后更新时间: 2021年01月22日
消息类型
类MessageCode中定义了定位引擎所需要的所有消息类型。
主要的消息有:
消息名 | 含义 |
---|---|
MSG_THREAD_PREPARED | 定位模块初始化完成 |
MSG_REPORT_ONLINE_LOCATION | 在线定位成功返回。此时 msg.obj是一个LocationResult对象 |
MSG_SENSOR_MISSING | 手机缺少步导需要的传感器:加速度、磁力计、重力计等 |
MSG_WIFI_NOT_ENABLED | 没有打开wifi |
MSG_BLE_NOT_ENABLED | 没有打开蓝牙 |
MSG_WIFI_NOT_PERMITTED | wifi没有授权 |
MSG_BLE_NOT_PERMITTED | 蓝牙没有授权 |
MSG_BLE_NO_SCAN | 一段时间内没有蓝牙扫描 |
MSG_WIFI_NO_SCAN | 一段时间内没有WIFI扫描 |
MSG_NETWORK_ERROR | 网络通讯失败 |
MSG_SERVER_ERROR | 服务器端联接失败 |
MSG_LBS_ERROR | 用户key非法或过期 |
示例代码
// 创建Handler对象,处理回调消息
public void handleMessage(Message msg)
{
switch (msg.what) {
// 获取到了在线定位结果
case MessageCode.MSG_REPORT_ONLINE_LOCATION: {
LocationResult result = (LocationResult)msg.obj;
//result中保存了定位结果xyz
break;
}
// 传感器检测到错误
case MessageCode.MSG_SENSOR_MISSING: {
AlertDlg.show(mParent, "MSG_SENSOR_MISSING", "手机缺少步导需要的传感器:加速度、磁力计、重力计等");
break;
}
// 蓝牙检测到错误
case MessageCode.MSG_BLE_NO_SCAN: {
AlertDlg.show(mParent, "MSG_BLE_NO_SCAN", "一段时间内没有蓝牙扫描");
break;
}
// wifi检测到错误
case MessageCode.MSG_WIFI_NO_SCAN: {
AlertDlg.show(mParent, "MSG_WIFI_NO_SCAN", "一段时间内没有WIFI扫描");
break;
}
// 网路错误
case MessageCode.MSG_NETWORK_ERROR: {
AlertDlg.show(mParent, "MSG_NETWORK_ERROR", "网络错误");
break;
}
case MessageCode.MSG_SERVER_ERROR: {
AlertDlg.show(mParent, "MSG_SERVER_ERROR", "服务器端错误");
break;
}
// 气压计变化
case MessageCode.MSG_PRESSURE_CHANGED: {
PressData pressure = (PressData) msg.obj;
L.d("MSG_PRESSURE_CHANGED, press:" + pressure.mPress);
break;
}
// 步导模块返回
case MessageCode.MSG_REPORT_PED: {
PedData pedData = (PedData) msg.obj;
L.d("MSG_REPORT_PED, step:" + pedData.mStep + " angle:" + pedData.mAngle);
break;
}
}
}