Java GoogleAppClient尚未连接异常

Java GoogleAppClient尚未连接异常,java,android,google-play-services,Java,Android,Google Play Services,我正在使用的应用程序有时工作正常,但有时会出现此错误 致命异常:java.lang.RuntimeException:无法暂停活动{com.example.dell.locationapi/com.example.dell.locationapi.MainActivity}:java.lang.IllegalStateException:GoogleAppClient尚未连接 有时会出现这样的错误: java.lang.IllegalStateException:GoogleAppClient尚

我正在使用的应用程序有时工作正常,但有时会出现此错误

致命异常:java.lang.RuntimeException:无法暂停活动{com.example.dell.locationapi/com.example.dell.locationapi.MainActivity}:java.lang.IllegalStateException:GoogleAppClient尚未连接

有时会出现这样的错误:

java.lang.IllegalStateException:GoogleAppClient尚未连接

即使调用了
onConnected()
函数。 我将对
buildGoogleAppClient()
的调用移到了
onCreate()的开头,下面是我的代码:

protected synchronized void buildGoogleApiClient() {
        mGoogleApiClient = new GoogleApiClient.Builder(context)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(LocationServices.API).build();
 }
调用
onCreate()
中的方法:


但它有时也会犯同样的错误,你知道为什么会这样吗

您不应该调用
loc.createLocationRequest()调用
loc.buildGoogleAppClient()后立即调用而是在ApiCLient的
onconnected()
中调用
loc.createLocationRequest()
loc.createLocationRequest()
要求在调用GoogleAppClient时连接它


为此,您应该在
onConnected()
中调用需要ApicClient连接的任何API。这样,您可以避免在使用这些异常时出现ApiClient connect异常。

这将是晚来的,但对于可能对以下任何人有用:

  • 移动
    loc.buildGoogleAppClient()到onCreate方法
  • 移动
    loc.createLocationRequest()到未连接的方法

  • 你能通过这个吗?投反对票,很好。我想听听你的答案中有什么错误,这样我就可以纠正它,甚至人们也会问为什么……否则它会误导你。如果你不能投票。
        loc = new MyLocation(MainActivity.this);
        if (loc.checkPlayServices()) {
            loc.buildGoogleApiClient();
            loc.createLocationRequest();
        }