Android:如何让用户为其他跟踪用户创建地理围栏?

标签 android android-location android-geofence

如何实现地理围栏来跟踪其他用户?
我正在开发一个跟踪家庭成员的应用程序,我想实现地理围栏功能,使用户能够为 ex:
用户A会跟踪用户B
用户 A 将确定地理围栏区域,当用户 B 进入此地理围栏时,用户 A 将收到通知

我每 10 分钟检索一次用户 B 的位置,我想为用户 B 创建地理围栏,当用户 B 进入地理围栏区域时通知用户 A

我尝试像这段代码一样使用 google Geofence :

mGeofenceList.add(new Geofence.Builder()
// Set the request ID of the geofence. This is a string to identify this
// geofence.
.setRequestId(entry.getKey())

.setCircularRegion(
        entry.getValue().latitude,
        entry.getValue().longitude,
        Constants.GEOFENCE_RADIUS_IN_METERS
)
.setExpirationDuration(Constants.GEOFENCE_EXPIRATION_IN_MILLISECONDS)
.setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER |
        Geofence.GEOFENCE_TRANSITION_EXIT)
.build());

但它仅适用于用户设备“用户 A 位置”,不适用于其他用户位置。

最佳答案

我想您应该添加一个数据库并跟踪谁为谁创建了地理围栏。还将地理围栏半径和中心点存储在数据库中。为了检查用户是否在地理围栏内,计算与用户位置坐标和所有地理围栏坐标的距离,然后将距离与 5 分钟跨度内的半径进行比较。如果距离 < 半径,则用户在内部,否则在外部。如果用户在里面,设置标志以避免重复通知。如果用户外出重置标志。我认为这应该可行。

关于Android:如何让用户为其他跟踪用户创建地理围栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40599438/

相关文章:

android - 为什么我在 android studio 中没有看到硬编码文本的任何 lint 错误

android - 如何存储连续位置数据的数据

android - 如何使用 Android 地理围栏 API?

安卓地理围栏 : Trigger only while outside geofence

polygon - 使用多边形形状创建和监控地理围栏

android - RecyclerView 不显示任何内容

java - Android sdk 18 TextView 重力不能垂直工作

android - 获取纬度和经度的负值

android - 如何在后台线程启动GPS定位?

android - 在 Android 中更改 TextView 的不透明度