Nicht angeschlossen. Call-Verbindung oder warten Sie, bis onConnected() aufgerufen werden
Meine app anzeigen-centric. Ich nenne requestLocationUpdates()
oft. Einmal in eine Weile, bekomme ich diese exception
wenn die genannt werden. Oder in einem anderen Ort, die fordert, eine solche Methode. Ich sah vorgeschlagenen Lösungen auf SOF, leider nichts scheint zu funktionieren für mich. Auch wenn ich den Anruf mLocationClient.connect()
gibt es keine Garantie, dass es verbindet sofort, korrigiert mich wenn ich falsch bin. Wie löse ich dieses problem?
case R. id.btnContinue:
gpsLocationDailog.cancel();
int isGooglePlayServiceAvilable = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getApplicationContext());
if (isGooglePlayServiceAvilable == ConnectionResult.SUCCESS) {
/** thorws shitty expectiosn **/
mLocationClient.connect();
try {
mLocationClient.requestLocationUpdates(REQUEST, this);
mCurrentLocation = mLocationClient.getLastLocation();
fireQueryToGetTheResponse(latitude, longitude);
rl.setVisibility(View.VISIBLE);
mDrawerLayout.setVisibility(View.GONE);
mSlidingUpPanelLayout.setVisibility(View.GONE);
} catch (IllegalStateException e) {
mLocationClient.connect();
Log.e(TAG, " Waiting for onConnect to be called");
}
} else {
GooglePlayServicesUtil.getErrorDialog(
isGooglePlayServiceAvilable,
SqueakeeMapListViewPager.this, 0).show();
}
break;
- und dies ist die Ausnahme, die ausgelöst wird:
java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
at com.google.android.gms.internal.de.bc(Unknown Source)
at com.google.android.gms.internal.ez.a(Unknown Source)
at com.google.android.gms.internal.ez$c.bc(Unknown Source)
at com.google.android.gms.internal.ey.requestLocationUpdates(Unknown Source)
at com.google.android.gms.internal.ez.requestLocationUpdates(Unknown Source)
at com.google.android.gms.internal.ez.requestLocationUpdates(Unknown Source)
at com.google.android.gms.location.LocationClient.requestLocationUpdates(Unknown Source)
at org.application.app.squeakee.SqueakeeMapListViewPager.onClick(SqueakeeMapListViewPager.java:1936)
at android.view.View.performClick(View.java:4475)
at android.view.View$PerformClick.run(View.java:18786)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5493)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
at dalvik.system.NativeStart.main(Native Method)
InformationsquelleAutor Abby | 2014-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte einen ähnlichen Fehler, und im Grunde, was gesagt wurde auf den vorherigen Kommentar Ihr problem beheben kann ja.
Wenn Sie nicht die Verfolgung Ihrer Fehler, es würde sich hier melden:
Der Grund dafür ist, dass der client nicht verbunden ist, wenn Sie anrufen, dass die API-Methode. Und das ist der Grund, warum die Vorherige Antwort funktioniert, weil im Grunde, was er Tat, war, zu starten, die Standort-updates auf den Rückruf.
Wenn Sie dies tun:
Ihre Kunden nicht sofort anschließen, aber der code wird ständig laufen, und wenn du fragst, locationUpdates Sie sind nicht verbunden noch (er ist noch auf Arbeit, es braucht, es ist Zeit), so stürzt es ab. Auch, wenn Sie das tun .connect() ist Sie eigentlich, aktivieren Sie das onConnected() callback, so dass, wenn Sie code Ihre locationUpdates Wunsch im inneren, dann haben Sie im Grunde lösen die meisten von Ihren Fehlern.
Auch, Sie sagten, Sie haben eine Menge Anfragen und nur manchmal tritt dieser Fehler auf. Für, dass Sie nicht genügend code, aber ich denke ich kann annehmen, dass der Fehler passiert, weil der Weg/wenn Sie stornieren Sie Ihre Anfragen und re-aktivieren (die Methoden onStop(), onPause(), onResume() und onStart() ). Wenn Sie anhalten Ihrer app, und Sie müssen die Verbindung zum client, aber Sie sollten sicherstellen, dass, wenn Sie fortsetzen, es, Sie wieder anschließen, also vielleicht einfach nur die
innerhalb der onResume() und dass möglicherweise behebt einige andere Probleme (wieder einmal, Sie nicht, dass code, vielleicht sind Sie mit der Programmierung schon Recht, aber für einige andere Leser, der dieses problem hat, könnte dies eine Anregung sein, um es zu beheben).
Es ist ein bisschen spät die Antwort, aber ich hoffe, das hilft dem rest der Gemeinschaft.
Beste Grüße.
Diese Arten von Erklärungen sind immer willkommen. Danke!
Ich habe diesen Fehler auf der gleichen Codezeile, auch wenn es in der onConnected () - Methode. Was machen Sie?
InformationsquelleAutor Tadeu Marques
Umzusetzen versuchen GooglePlayServicesClient.ConnectionCallbacks und @Override onConnected() auf Ihre Aktivität und setzen Sie den code, muss eine Verbindung nach innen von ihm.
Dass für mich gearbeitet.
InformationsquelleAutor jonathanglima