如何查找设备是在同一位置还是在Android中移动?

Dha*_*ana 3 gps android

在Android中,我使用警报管理器通过GPS获取每30秒的位置.我想使用geopoints检测设备是在旅行还是在同一位置.如果设备在同一位置GPS获得一些准确数据,有时会在距离地图上显示的准确位置20或30米处获得近似数据.

因此,寻找设备旅行时遇到了问题.

如何找到设备不是旅行?

per*_*ene 7

如果您有权访问Play服务,请查看识别用户的当前活动.

此外,在locationListener中,您可以执行以下操作:由于收到的GPS信号即使位于相同位置也会有所不同,因此您不能仅将新位置与旧位置进行比较.我会使用类似下面的代码

            double venueLat =latitude // Last known lat
            double venueLng = longitude // Last known lng

            double latDistance = Math.toRadians(userLat - venueLat);
            double lngDistance = Math.toRadians(userLng - venueLng);
            double a = (Math.sin(latDistance / 2) * Math.sin(latDistance / 2)) +
                            (Math.cos(Math.toRadians(userLat))) *
                            (Math.cos(Math.toRadians(venueLat))) *
                            (Math.sin(lngDistance / 2)) *
                            (Math.sin(lngDistance / 2));

            double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

            double dist = 6371 * c;             
            if (dist<0.01){ (in km, you can use 0.1 for metres etc.)
                /* If it's within 10m, we assume we're not moving */ 
            }
Run Code Online (Sandbox Code Playgroud)