GoogleApiClient尚未连接异常

时间:2015-11-24 10:36:16

标签: java android google-play-services

我正在处理的应用程序,有时可以正常运行但有时却会给我这个错误

  

FATAL EXCEPTION:java.lang.RuntimeException:无法暂停活动{com.example.dell.locationapi / com.example.dell.locationapi.MainActivity}:java.lang.IllegalStateException:GoogleApiClient尚未连接。

有时这个错误:

  

java.lang.IllegalStateException:GoogleApiClient尚未连接。

即使调用了for (i in ls()[grepl("df",ls())]){ Final_df<- bind_rows(Final_df,i) } 函数。 我将onConnected()的调用移到buildGoogleApiClient()的开头,这是我的代码:

onCreate()

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

onCreate()

但是它有时会一直出现同样的错误,不知道为什么会发生这种情况?!

2 个答案:

答案 0 :(得分:0)

致电loc.createLocationRequest();后,您不应立即致电loc.buildGoogleApiClient();而是致电ApiCLient loc.createLocationRequest()中的onConected()loc.createLocationRequest()要求GoogleApiClient在调用时连接。

就此而言,您应该在onConnected()中调用任何需要APiCLient连接的API。这样就可以避免ApiClient在使用时连接异常。

答案 1 :(得分:0)

这是迟到的,但无论谁对它有用:

  1. loc.buildGoogleApiClient();移至onCreate方法。
  2. loc.createLocationRequest();移至onConnected方法。