我已经安装了一个假位置应用程序,并设置我的位置不同。然后打开谷歌地图和微信应用,
然后,我想防止微信分析我以前收到的真实地点和新的假地点。
但同样的结果它能探测到我的真实位置。
我真的很想知道他们是怎么做到的。有什么想法吗?
我已经尝试过的
更新
即使在禁用的情况下也会使用GPS。

07-02 11:46:15.504 2346-2356D/LocationManagerService:请求434a7e28全球定位系统RequestACCURACY_FINE gps requested=+1s0ms fastest=+1s0ms从com.tencent.mm(10173)
结论
发布于 2016-06-30 19:50:16
为了检查假位置,大多数应用程序在接收到的GGA数据中查找NMEA (National Marine Electronics Association)和GSV语句。假位置提供程序不会将NMEA语句与位置一起发送,因此可以使用此参数
如果他们还没有在阈值时间内收到GGA和GSV的句子,比如说100秒钟,他们就会标记当前的位置提供程序。
这个过程被重复,直到收到一组有效的NMEA句子,然后选择相应的位置。
若要撤回NMEA数据,请调用LocationManager#addNmeaListener(GpsStatus.NmeaListener listener),然后在侦听器中调用
void onNmeaReceived(long timestamp, String nmea) {
Log.d("Nmea Data",nmea);
}有关更多信息,请参见添加一个NmeaListener
NMEA语句、GGA和GSV如下所示
GGA -提供三维定位和精度数据的基本固定数据。
样本:"$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47"
Where:
GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
1 Fix quality: 0 = invalid
1 = GPS fix (SPS)
2 = DGPS fix
3 = PPS fix
4 = Real Time Kinematic
5 = Float RTK<br/>
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode>
8 = Simulation mode
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Meters, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84 ellipsoid
(empty field) time in seconds since last DGPS update
(empty field) DGPS station ID number
*47 the checksum data, always begins with *GSV -视图中的卫星显示了卫星的数据,该单位可以根据其查看掩码和年鉴数据找到这些数据。它还显示了当前跟踪这些数据的能力。请注意,一个GSV语句只能为多达4个卫星提供数据,因此可能需要3句完整的信息。GSV语句包含比GGA可能显示的更多的卫星是合理的,因为GSV可能包括不作为解决方案一部分的卫星。GSV语句均按顺序出现,这不是一项要求。为了避免数据带宽的超载,一些接收者可能会将不同的句子放置在完全不同的样本中,因为每个句子都识别出它是哪一个。
样本:"$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75"
Where:
GSV Satellites in view
2 Number of sentences for full data
1 sentence 1 of 2
08 Number of satellites in view
01 Satellite PRN number
40 Elevation, degrees
083 Azimuth, degrees
46 SNR - higher is better
for up to 4 satellites per sentence
*75 the checksum data, always begins with *来源:NMEAData
发布于 2016-07-01 19:57:27
一些第三方的location,如BaiduLocationSDK,并不能通过系统反映虚假的位置设置。
是为了安全的目的。
发布于 2016-06-25 21:03:10
我在评论中提出问题的原因是,我希望你能测试微信对不同情况的反应。
还有几种检测设备位置的方法,TestProvider不应该影响AFAIK。这个需要测试,但是这里有一些想法:
编辑:添加了电话管理器选项。
https://stackoverflow.com/questions/37175039
复制相似问题