我正在建立一个基于位置的应用程序,一切都很好,直到有一天我停止接收位置..我不知道为什么。我将附上重要的代码:
private LocationManager mLocationManager;
public void onCreate()
{
super.onCreate();
...
// Get a reference to the LocationManager object.
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
...
setup();
}
private void setup()
{
mLocationManager.removeUpdates(listener);
// Request updates from just the providers.
if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, ONE_MINUTE, 0, listener);
if (mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, ONE_MINUTE, 0, listener);
}
@Override
public void onLocationChanged(Location location)
{
handleLocation(location);
}
我在onLocationChanged上设置了一个断点,没有发生任何事情..我在我的应用程序的其他行测试了它,以确保调试配置正常工作并且它正在运行。看起来我只是没有收到任何地点。
也许我没有看到什么。
答案 0 :(得分:0)
我有很好的代码来接收位置:
public class Locato extends Activity implements LocationListener {
LocationManager locman;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.idlayout);
locman = (LocatonManager) getSystemService(Context.LOCATION_SERVICE);
}
public void onStatusChanged(String pr, int s, Bundle a) {
}
@Override public void onProviderDisabled(String provider)
{
Log.d("MyApp", "Provider disabled : " + provider);
}
@Override public void onProviderEnabled(String provider) {
Log.d("MyApp", "Provider enabled : " + provider);
}
@Override public void onLocationChanged(Location location) {
// do something
}
}
尝试使用此功能。 不要忘记在清单中添加ACCESS_FINE_LOCATION权限。
答案 1 :(得分:0)
相同的代码现在生成位置,当我说它可能是因为它是阴天但现在当云已经消失时,这是一个笑话。我无法想到任何其他事情,只是为了澄清它是非常多云甚至可能是一场小风暴。