我在onResume中使用以下代码:
final LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10 * 1000, 10, this);
} else {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10 * 1000, 10, this);
}
并在Activity中实现了LocationListener。正如我在调试器中看到的,GPS_PROVIDER是启用的。当应用程序工作时,我也会看到GPS图标。GPS已在设置中启用。两个许可都设置好了。但是onLocationChanged从未被调用过。这段代码在几周前运行得很好。
发布于 2013-06-15 18:18:23
设置更新的最短时间为10秒,最小距离为10米。检查您是否达到了这些最低条件。Tryu将所有条件设置为0,然后再次检查。
此外,检查GPS更新是否有效-例如,使用地图应用程序。如果您的设备在“冷”启动时使用GPS -您无法在10-20分钟或更长时间内收到更新。
发布于 2013-06-15 18:09:44
我建议你
Log.d(...)
检查locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
和locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
onProviderDisabled(...)
捕获对onProviderEnabled(...)
和onProviderEnabled(...)
的所有调用我期望得到的输出将允许您解决您的问题。
https://stackoverflow.com/questions/17122434
复制相似问题