自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
GpsGeofencingInterface 结构体参考文档
#include <
gps.h
>
扩展了 GPS_Geofencing 支持的接口
定义位于文件
gps.h
的
1361
行。
void(* add_geofence_area)(int32_t geofence_id, double latitude, double longitude, double radius_meters, int last_transition, int monitor_transitions, int notification_responsiveness_ms, int unknown_timer_ms)
|
添加地理围栏区域。此 API 目前支持圆形地理围栏。参数:geofence_id - 地理围栏的 ID。如果已存在具有此 ID 的地理围栏,则应返回错误值 (GPS_GEOFENCE_ERROR_ID_EXISTS)。latitude、longtitude、radius_meters - 地理围栏的纬度、经度和半径(以米为单位)last_transition - 地理围栏的当前状态。例如,如果系统已知用户位于地理围栏内,则此字段将设为 GPS_GEOFENCE_ENTERED。在大多数情况下,此值为 GPS_GEOFENCE_UNCERTAIN。monitor_transition - 要监控的转换。GPS_GEOFENCE_ENTERED、GPS_GEOFENCE_EXITED 和 GPS_GEOFENCE_UNCERTAIN 的按位 OR 运算。notification_responsiveness_ms - 定义了在与
地理围栏
关联的转换触发时,应尽快调用回调的最佳努力描述。例如,如果将其设置为 1000 毫秒并使用 GPS_GEOFENCE_ENTERED,则系统应在进入地理围栏后 1000 毫秒内调用回调。此参数以毫秒为单位。注意:这与 GPS 轮询速率不同。出于节省电源的考虑,可以动态调整 GPS 采样率;因此,采样率可能会比此更快或更慢。unknown_timer_ms - 应在超出此时间限制后触发 UNCERTAIN 转换。此参数以毫秒为单位。如需详细了解相关说明,请参阅上文。
定义位于文件
gps.h
的
1400
行。
打开地理围栏接口,并向此接口的实现提供回调例程。
定义位于文件
gps.h
的
1369
行。
void(* pause_geofence)(int32_t geofence_id)
|
暂停监控特定地理围栏。参数:geofence_id - 地理围栏的 ID。
定义位于文件
gps.h
的
1409
行。
void(* remove_geofence_area)(int32_t geofence_id)
|
移除地理围栏区域。函数返回后,不应发送任何通知。参数:geofence_id - 地理围栏的 ID。
定义位于文件
gps.h
的
1429
行。
void(* resume_geofence)(int32_t geofence_id, int monitor_transitions)
|
继续监控特定地理围栏。参数:geofence_id - 地理围栏的 ID。monitor_transitions - 要监控的转换。GPS_GEOFENCE_ENTERED、GPS_GEOFENCE_EXITED 和 GPS_GEOFENCE_UNCERTAIN 的按位或运算。此值会替换 add_geofence_area 调用中提供的关联值。
定义位于文件
gps.h
的
1421
行中。
设置为 sizeof(GpsGeofencingInterface)
定义位于文件
gps.h
的
1363
行。
此结构体的文档是根据以下文件生成的:
-
hardware/libhardware/include/hardware/
gps.h
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[null,null,["最后更新时间 (UTC):2025-03-26。"],[],[]]