Android LocationClient onDisconnect不';我没接到电话

Android LocationClient onDisconnect不';我没接到电话,android,location,connect,location-client,Android,Location,Connect,Location Client,从文档中可以看出,当LocationClient断开连接时,应调用onDisconnected。从我的测试中,我注意到如果我自己断开LocationClient,它就不会被调用 下面是我拥有的最基本的示例代码 public class MainActivity extends ActionBarActivity implements GooglePlayServicesClient.ConnectionCallbacks,

从文档中可以看出,当LocationClient断开连接时,应调用onDisconnected。从我的测试中,我注意到如果我自己断开LocationClient,它就不会被调用

下面是我拥有的最基本的示例代码

public class MainActivity extends ActionBarActivity implements GooglePlayServicesClient.ConnectionCallbacks,
                                                               GooglePlayServicesClient.OnConnectionFailedListener {

  private LocationClient locationClient;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    locationClient = new LocationClient(getApplicationContext(), this, this);
    locationClient.connect();
  }

  @Override
  public void onConnected(Bundle bundle) {
    Log.d("APP", "Location Client Connected");
    locationClient.disconnect();
    Log.d("APP", "Client is connected " + locationClient.isConnected());
  }

  @Override
  public void onDisconnected() {
    Log.d("APP", "Location Client Disconnected");
  }

  @Override
  public void onConnectionFailed(ConnectionResult connectionResult) {
    Log.d("APP", "Location Client connect failed");
  }
}
我收到了onConnected()回调,但从未收到onDisconnected()回调。在onConnected回调中,我打印出客户端的已连接状态,它正确地打印出“false”

我是否误解了某些内容,或者onDisconnected回调仅由以下外部事件调用:

  • 活动/服务关闭
  • 位置客户端不可用

    • 我也遇到了同样的问题,并找到了答案:

      我想有点晚了,但我也在想同样的问题,所以我会回复的

      这是正常的行为。API文档中不清楚,但在的官方教程中,它提到了onDisconnected:

      如果由于错误导致与位置客户端的连接中断,则由位置服务调用

      这意味着如果您自己调用disconnect(),就不应该调用它


      兄弟,你找到解决办法了吗?我也面临同样的问题。