queryEntityList()方法用于根据筛选条件(FilterCondition)查找符合条件的entity列表,常用于以下场景:
1. 查询某一个 entity 的详细信息,包括实时位置
2. 查询所有设备信息和实时位置,如轨迹管理台的entity列表面板
3. 查询在线和离线设备
类似Web轨迹管理台中的在线和离线 entity 列表功能,在 Android APP内可用该方法实现。若判断在线的条件为:当前5分钟内定位且上传了轨迹点的 entity,则可按如下示例实现:
// 请求标识
int tag = 5;
// 轨迹服务ID
long serviceId = 0;
//设置活跃时间
long activeTime = System.currentTimeMillis() / 1000 - 5*60;
// 过滤条件
FilterCondition filterCondition = new FilterCondition();
// 查找当前时间5分钟之内有定位信息上传的entity
filterCondition.setActiveTime(activeTime);
// 返回结果坐标类型
CoordType coordTypeOutput = CoordType.bd09ll;
// 分页索引
int pageIndex = 1;
// 分页大小
int pageSize = 100;
// 创建Entity列表请求实例
EntityListRequest request = new EntityListRequest(tag, serviceId, filterCondition, coordTypeOutput, pageIndex, pageSize);
// 初始化监听器
OnEntityListener entityListener = new OnEntityListener() {
@Override
public void onEntityListCallback(EntityListResponse response) {}
};
// 查询Entity列表
mTraceClient.queryEntityList(request, entityListener);