Java GoogleAppClient尚未连接异常
我正在使用的应用程序有时工作正常,但有时会出现此错误 致命异常:java.lang.RuntimeException:无法暂停活动{com.example.dell.locationapi/com.example.dell.locationapi.MainActivity}:java.lang.IllegalStateException:GoogleAppClient尚未连接 有时会出现这样的错误: java.lang.IllegalStateException: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尚
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();
}