2012-03-21 26 views
2

我正在使用FakeGps欺騙您當前位置的應用程序。我想創建一個應用程序,告訴我所搜索的位置是假的。確定一個位置是否被嘲弄

我該如何實現這一功能?任何想法都歡迎

+0

唯一想我能想到的是,如果getSpeed()是不爲0.0它明確不是假的(我覺得..),如果你不是一個製作假想不出別的位置..:/ – Joe 2012-03-21 15:09:25

+1

如果FakeGps在模擬位置對象中設置了速度,該怎麼辦? – Blackbelt 2012-03-21 15:50:37

+0

@blackbelt也許它確實,但我把我的錢放在那,它不.. – Joe 2012-03-22 08:44:08

回答

0

直到NMEA協議的2.3版本,沒有辦法包含關於GPS信息來源的信息,但是由於來自FAA的輸入,這已經被添加到許多NMEA消息類型,包括GLL和RMC,它們通常用於通用定位(有關更多信息,請參閱this document)。

該新字段作爲所有舊數據字段後面的可選字段添加到NMEA消息中。

新FAA模式指示器(通常被稱爲模式)字段包括下列:

  • A =自治模式(幾乎是默認值)
  • d =微分模式(使用差分校正時)
  • E =估計(通過航位推算或類似的技術)
  • M =手動輸入
  • S =模擬
  • N =無效

我不知道很多有關FakeGPS應用程序,但如果它只是需要NMEA消息的文本文件,您可以添加該字段(或者如果它已經存在,只是改變了值改爲模擬的「S」) - 只需記住同時更改校驗和。

解析數據時,您只需查找此字段即可區分模擬消息和基於GPS的真實信息,其中此字段最有可能爲A或缺失(取決於GPS接收器和NMEA的版本協議支持)。如果你開發了你自己的解析器,那麼添加這個功能非常簡單,如果你使用的是第三方解析器,那麼這可能會更困難一些(希望它已經被支持)。

0

位置接收器不知道它是模擬位置還是真實位置。