FlpLocationInterface 结构体参考文档
#include <
fused_location.h
>
数据字段 |
|
size_t | 尺寸 |
int(* | init )( FlpCallbacks *callbacks) |
int(* | get_batch_size )() |
int(* | start_batching )(int id, FlpBatchOptions *options) |
int(* | update_batching_options )(int id, FlpBatchOptions *new_options) |
int(* | stop_batching )(int id) |
void(* | cleanup )() |
void(* | get_batched_location )(int last_n_locations) |
int(* | inject_location )( FlpLocation *location) |
const void *(* | get_extension )(const char *name) |
void(* | flush_batched_locations )() |
详细说明
表示标准 FLP 接口。
定义位于文件 fused_location.h 的第 321 行。
字段文档
void(* cleanup)() |
关闭界面。如果有任何批量操作正在进行,则应将其停止。
定义位于文件 fused_location.h 的 398 行。
void(* flush_batched_locations)() |
检索当前存储的所有批量位置信息并清除缓冲区。必须调用 flp_location_callback 作为响应,即使没有要刷新的位置信息(在这种情况下,num_locations 应为 0)也是如此。对 get_batched_location 或 flush_batched_locations 的后续调用不应返回此调用中返回的任何位置。
定义位于文件 fused_location.h 的 436 行。
int(* get_batch_size)() |
返回硬件中可用的批处理大小(以 FlpLocation 对象的数量表示)。请注意,不同的硬件实现可能具有不同的样本大小。此方法应返回以 FlpLocation 格式定义的样本数量。上层将使用此值来确定批处理间隔时间以及是否应唤醒 AP。
定义位于文件 fused_location.h 的 343 行。
void(* get_batched_location)(int last_n_locations) |
获取已批处理的融合位置信息。flp_location_callback 用于返回位置信息。只有在缓冲区已满时,系统才会从缓冲区中丢弃位置对象。请勿仅仅因为已使用回调返回它而将其从缓冲区中移除。换句话说,如果没有新的地理位置对象,对 get_batched_location(1) 的两次调用应返回相同的地理位置对象。参数:last_n_locations - 要获取的位置数量。可以是 1 个或多个。如果 last_n_locations 为 1,则会获取硬件所知的最新位置。
定义位于文件 fused_location.h 的 412 行。
const void*(* get_extension)(const char *name) |
获取指向扩展程序信息的指针。
定义位于文件 fused_location.h 的 427 行。
int(* init)( FlpCallbacks *callbacks) |
打开接口并向此接口的实现提供回调例程。被调用后,您应通过调用 FlpCallbacks 中的 flp_capabilities_callback 来响应,以指定您的实现支持的功能。
定义位于文件 fused_location.h 的 333 行。
int(* inject_location)( FlpLocation *location) |
从其他位置信息提供程序注入当前位置。纬度和经度以度为单位,预期精度以米为单位。参数:location - 要注入的位置对象。返回值:FLP_RESULT_SUCCESS 或 FLP_RESULT_ERROR。
定义位于文件 fused_location.h 的 422 行。
size_t size |
设置为 sizeof(FlpLocationInterface)
定义位于文件 fused_location.h 的 325 行。
int(* start_batching)(int id, FlpBatchOptions *options) |
开始批量处理营业地点。此 API 主要用于 AP 处于休眠状态且设备可以在硬件中批量处理位置信息时。flp_location_callback 用于返回位置信息。当缓冲区已满且使用 FLP_BATCH_WAKEUP_ON_FIFO_FULL 时,AP 会被唤醒。当缓冲区已满且未设置 FLP_BATCH_WAKEUP_ON_FIFO_FULL 时,系统会丢弃最早的位置对象。在这种情况下,AP 不会被唤醒。上层将使用 get_batched_location API 明确请求位置信息。如果设置了 FLP_BATCH_CALLBACK_ON_LOCATION_FIX,则实现会在每次有位置修正时调用 flp_location_callback。这会替换 FLP_BATCH_WAKEUP_ON_FIFO_FULL 标志设置。如果上层(调用方)知道 AP 可能会进入休眠状态,则有责任将其关闭。当系统处于高功耗模式时,这对于导航应用非常有用。参数:id - 请求的 ID。options - 请参阅 FlpBatchOptions 结构体定义。返回值:成功时为 FLP_RESULT_SUCCESS,失败时为 FLP_RESULT_INSUFFICIENT_MEMORY、FLP_RESULT_ID_EXISTS、FLP_RESULT_ERROR。
定义位于文件 fused_location.h 的 367 行。
int(* stop_batching)(int id) |
停止批量处理。参数:id - 请求的 ID。返回值:成功时为 FLP_RESULT_SUCCESS,失败时为 FLP_RESULT_ID_UNKNOWN 或 FLP_RESULT_ERROR。
定义位于文件 fused_location.h 的 392 行 。
int(* update_batching_options)(int id, FlpBatchOptions *new_options) |
更新与批处理请求关联的 FlpBatchOptions 。当批处理操作正在进行且需要更新批处理选项(例如 FLP_BATCH_WAKEUP_ON_FIFO_FULL)时,系统会使用此 API。例如,当 AP 处于唤醒状态且正在使用地图应用时,就可能会发生这种情况。参数:id - 现有批量请求的 ID。new_options - 更新后的 FlpBatchOptions 返回值:成功时为 FLP_RESULT_SUCCESS,失败时为 FLP_RESULT_ID_UNKNOWN、FLP_RESULT_ERROR。
定义位于文件 fused_location.h 的 382 行。
此结构体的文档是根据以下文件生成的:
- hardware/libhardware/include/hardware/ fused_location.h