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

这可能是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();

}

}

}

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值