如何检测Android中的假GPS坐标?

Doj*_*ojo 8 gps android

是否有一种万无一失的方法来检测用户是否伪造他/她的GPS位置?

该技术应该适用于没有蜂窝连接硬件的Android设备.即仅限Wi-Fi

Neo*_*Neo 18

如果这适用于您,请尝试使用此代码

// returns true if mock location enabled, false if not enabled.
if (Settings.Secure.getString(getContentResolver(),
   Settings.Secure.ALLOW_MOCK_LOCATION).equals("0")) 
   return false; 
   else return true;
Run Code Online (Sandbox Code Playgroud)

干杯!


den*_*ini 2

我认为你应该让假 GPS 坐标的概念更清晰,因为无论用户是否真的在那里,任何坐标本身都可以被认为是真实的。

因此,您可以通过两种方式采取行动:

  1. 从其他来源获取任何有关位置的信息,您可以将其与 GPS 坐标进行比较
  2. 分析您拥有的数据(GPS 坐标)是否存在差异。

由于涉及解决方案 1,您可以使用最近的 GSM 信号塔的 CID(小区 ID)和 LAC(位置区域代码)来查明用户是否位于某个区域。这需要互联网连接并向远程服务发出 LAC 到 GPS 坐标转换的请求。

对于解决方案 2,您可能会检查与用户速度或加速度不相符的异常坐标变化,例如几秒钟内几英里的变化可能会警告您有关欺骗坐标。