我的 onLocationChanged 永远不会触发
Posted
技术标签:
【中文标题】我的 onLocationChanged 永远不会触发【英文标题】:My onLocationChanged never triggers 【发布时间】:2013-12-07 10:03:02 【问题描述】:没有找到有关如何实现此功能的完整指南。我有:
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener()
@Override
public void onLocationChanged(Location location)
//My location changed
myPosition = new LatLng(location.getLatitude(), location.getLatitude());
date = new Date();
//Update marker
myMarker.snippet(new Timestamp(date.getTime()).toString());
myMarker.position(myPosition);
//Update map
//updateMap();
//Move camera
mMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
//mMap.animateCamera(CameraUpdateFactory.zoomTo(17));
//Show dialog
boxUpdate.show();
Log.i("Map Location", "New cache for location retrived!");
@Override
public void onProviderDisabled(String provider)
//Required, but not in use
@Override
public void onProviderEnabled(String provider)
//Required, but not in use
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
//Required, but not in use
);
那么,我需要做些什么才能让它发挥作用? 我只启用了 WiFi,但我认为缓存完全是空的,不会以某种方式填满。我是否错过了让它倾听的必要内容?
【问题讨论】:
【参考方案1】:如果您想使用 wifi 获取位置,请更改此设置..
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener()
到
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener()
如果还是不行,请告诉我。
所以强迫你:)
【讨论】:
我先有那个,但也没有真正起作用。但我会再试一次。之前可能是另一个原因...我会在 10 分钟内重新发布 它似乎还没有做任何事情。我可以看到这可能仍然是必需的更改。还有什么猜测吗? 有时您可能需要重新启动设备才能正常使用此提供程序。请参阅此讨论 ***.com/q/15747543/1199602 看起来与您遇到的问题相同 我会试试看的。谢谢 嗯,还是什么都没有 =/以上是关于我的 onLocationChanged 永远不会触发的主要内容,如果未能解决你的问题,请参考以下文章
使用带有 GPS 提供程序的 requestLocationUpdates 永远不会调用 onLocationChanged
onLocationChanged() 永远不会由 requestLocationUpdates() 触发 - Android
onLocationChanged 永远不会被调用 Emulator