0

我正在构建一个基于位置的应用程序,一切都很好,直到有一天我停止接收位置......我不知道为什么。我将附上重要的代码:

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 上放了一个断点,但什么也没发生。我在我的应用程序的其他行上对其进行了测试,以确保调试配置正在运行并且正在运行。看起来我只是没有收到任何位置。

也许我什么都没看到。

4

2 回答 2

0

I've good code to receive location :

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 
  }
}

Try to use this. Don't forget add ACCESS_FINE_LOCATION permission in manifest.

于 2013-02-01T22:53:07.763 回答
0

相同的代码现在生成位置,当我说它可能是因为它是多云但现在当云消失时它正在工作时,这是一个笑话。我想不出其他任何事情,只是想澄清一下当时非常多云,甚至可能是一场小风暴。

于 2013-02-02T21:47:54.673 回答