我在使用位置侦听器和位置管理器时遇到问题。

我正在使用我在互联网上找到的课程

public class MyLocationListener implements LocationListener
{
    public void onLocationChanged(Location location) {
        home_text.setText("Location Change");
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }
}

当我使用gps provider时,它工作正常

locationListener = new MyLocationListener();
locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,1, locationListener);

当我使用网络提供商时,onLocationChanged在开始时只调用了一次,再也没有调用过。

locationListener = new MyLocationListener();
locationManager =    (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000,1, locationListener);

虽然,当我同时使用这两种方法打开地图时,它仍然可以找到我的当前位置并更新地图。

googleMap.setMyLocationEnabled(true);

请帮我...

===============>>#1 票数:1

LocationManager.NETWORK_PROVIDER尝试使用周围的基站和Wifi网络定位设备。 如果它们都不改变,那么您将不会收到任何更新。

您是否要求更新和漫游(您可能需要在您的位置走几步)?

使用GPS,随着信号增强并变得越来越准确,即使您不动也将收到更新。

  ask by user3506223 translate from so

未解决问题?本站智能推荐: