LocationClient.getLastLocation()返回Null虽然已连接

时间:2014-05-09 14:29:17

标签: android gps location-client

我试图通过LocationClient接收我当前的位置但由于某种原因它返回null。我不想使用GPS,因此我在我的Manifest中删除了精确的位置访问权限。

清单:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->

MainActivity:

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
....
mLocationClient = new LocationClient(this, this, this); 
....
}

@Override
   protected void onStart() {
      super.onStart();
      // Connect the client.
      mLocationClient.connect();
}

@Override
   protected void onStop() {
      // Disconnect the client.
      mLocationClient.disconnect();
      super.onStop();
   }

@Override
   public void onConnected(Bundle dataBundle) {
      location = mLocationClient.getLastLocation();
       // do something with the current location
   }

出于某种原因,除非我打开手机上的设置并启用GPS,否则它始终会为位置返回null。启用GPS后,我可以获取我的位置。它确实通过网络获得了位置。我不想使用GPS,我不希望它启用。但是如果没有启用GPS,它根本就没有位置。 任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您不想使用GPS而不是从网络获取位置,请在您的设备中启用它,如下面的屏幕截图所示