android – 当使用LocationManager时,为什么有Wifi但没有连接帮助网络位置?

android – 当使用LocationManager时,为什么有Wifi但没有连接帮助网络位置?,第1张

概述这可能是SO的主题,如果是这样我道歉(并乐意接受关闭的标志),但我有问题找出WIFI打开时的原因,但没有连接到任何接入点(在我的 Android设备上) ,它大大提高了使用LocationManager时网络提供商的准确性.如果没有它,一般网络位置结果距离我当前位置大约1英里.此外,大多数时候返回的lat / lng值是不同的,所以它甚至没有请求一次并且只是在lastKnownLocation() 这可能是SO的主题,如果是这样我道歉(并乐意接受关闭的标志),但我有问题找出WIFI打开时的原因,但没有连接到任何接入点(在我的 Android设备上),它大大提高了使用LocationManager时网络提供商的准确性.如果没有它,一般网络位置结果距离我当前位置大约1英里.此外,大多数时候返回的lat / lng值是不同的,所以它甚至没有请求一次并且只是在lastKNownLocation()中缓存结果

显然,我正在使用GPS和网络提供商来获得对最终用户位置的适当修复(当两者都不可用时),并使用时间戳来确定哪个是最新的.

我搜索过谷歌,并提出了各种答案,例如:“它只是做”和“它的魔力” – 说实话,这是毫无用处的.我不想深入描述内部工作,只是略低于“它只是做”,或“它是如何工作的”.

请求的代码

// first get location from network provIDer //            if(isNetworkEnabled)            {                locationManager.requestLocationUpdates(                        LocationManager.NETWORK_PROVIDER,MIN_TIME_FOR_UPDATES,MIN_disTANCE_CHANGE_FOR_UPDATES,this);                Logging.DeBUG("GPSTracker","Network");                if(locationManager != null)                {                    netLocation = locationManager.getLastKNownLocation(LocationManager.NETWORK_PROVIDER);                    if(netLocation != null)                    {                        latitude = netLocation.getLatitude();                        longitude = netLocation.getLongitude();                        speed = netLocation.getSpeed();                    }                }            }            // if gps is enabled get lat/lng using that as well //            if(isGPSEnabled)            {                if(gpsLocation == null)                {                    locationManager.requestLocationUpdates(                            LocationManager.GPS_PROVIDER,this);                    Logging.DeBUG("GPSTracker","GPS Enabled");                    if(locationManager != null)                    {                        gpsLocation = locationManager.getLastKNownLocation(LocationManager.GPS_PROVIDER);                        if(gpsLocation != null)                        {                            latitude = gpsLocation.getLatitude();                            longitude = gpsLocation.getLongitude();                            speed = gpsLocation.getSpeed();                                                     }                    }                }            }

非常感谢任何见解.谢谢.

解决方法 AndroID,Apple和其他公司可以访问庞大的数据库,在这里他们可以查找Wlan-Device-ID(WLAN路由器的Mac-Adress)到lat / lon坐标.
因此,当您的手机检测到“已知”WLAN时,它可以:
– 查找Wlan-ID的本地缓存以进行协调,或者如果您有互联网连接,它可以通过该数据库连接并查询Wlan ID的坐标.

仍然是他们拥有WLAN-ID坐标的问题?
可能是您第一次在连接WLAN时激活GPS.

SkyHook就是提供这种数据的公司.

总结

以上是内存溢出为你收集整理的android – 当使用LocationManager时,为什么有Wifi但没有连接帮助网络位置?全部内容,希望文章能够帮你解决android – 当使用LocationManager时,为什么有Wifi但没有连接帮助网络位置?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存