Android GPS和网络提供商不在实际设备上工作

Android GPS和网络提供商不在实际设备上工作,android,location,Android,Location,我已尝试使用网络提供商获取当前位置并注册 LocationListener: locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, locListener); 我在AndroidManifest.xml中添加了以下权限: android.permission.ACCESS_LOCATION android.permission.ACCESS_FINE_LOCATION android.perm

我已尝试使用网络提供商获取当前位置并注册

LocationListener:
locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, locListener);
我在AndroidManifest.xml中添加了以下权限:

android.permission.ACCESS_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.INTERNET
但是
onLocationChanged(位置)
从未调用

如果我试图通过以下方式获取位置:

locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
然后它总是返回空位置

我不知道我错在哪里。
任何帮助都应该感谢我。

您是否在LocationManager实例上执行了方法
RequestLocationUpdate

两个可能的原因: 1) 设备上未启用GPS
2) 你没有给它足够的时间来定位(我的设备可能需要30秒才能定位)。在得到修复之前,位置管理器将返回null。同样,在它得到修复,然后设备移动并且设备得到第二次修复之前,它不会触发“onLocationChanged”事件

您的手机中是否启用了GPS?是的,我的设备中启用了GPS。当纬度和经度值发生更改时,将调用onLocationChanged(Location-Location)。因此,最好检查真实设备上的应用程序,并将位置从一个位置更改到另一个位置(移动长距离以获得更好的结果)。我尝试了Lenovo Ideatab,并将位置从一个位置更改到另一个位置,但如果我尝试使用getLastKnownLocation()获取位置,则不会调用onLocationChanged(Location lLocation)方法返回空位置。我正在遵循Android位置提供程序教程:是的,我已按照以下方式执行requestLocationUpdates方法:LocationManager.requestLocationUpdates(LocationManager.NETWORK_Provider,10000,0,LocaListener);GPS已在我的设备上启用。我尝试设置60秒以获取位置,但未调用onLocationChanged()。GPS不是问题,因为我试图从网络提供商处获取位置。如果您使用谷歌地图(例如),是否能够在合理的时间内检索GPS(或网络)位置定位?这至少可以确认您的GPS是否正常工作,并让您了解设备在当地条件下获得修复的速度