Quindi ho trovato qualcosa che non è molto chiaro per me su GoogleApiClient. GoogleApiClient ha una funzione chiamata onConnected che è scappato quando il cliente è contatto (di sicuro)GoogleApiClient sta lanciando "GoogleApiClient non è ancora connesso" DOPO che la funzione onConnected si chiama
ho avuto il mio funzione chiamata: startLocationListening che è alla fine sempre invitato la funzione di GoogleApiClient onConnected .
Quindi la mia funzione startLocationListening non poteva essere eseguita senza una connessione GoogleApiClient.
Codice e log:
@Override
public void onConnected(Bundle bundle) {
log("Google_Api_Client:connected.");
initLocationRequest();
startLocationListening(); //Exception caught inside this function
}
...
private void startLocationListening() {
log("Starting_location_listening:now");
//Exception caught here below:
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}
L'eccezione è:
03-30 12:23:28.947: E/AndroidRuntime(4936): java.lang.IllegalStateException: GoogleApiClient is not connected yet.
03-30 12:23:28.947: E/AndroidRuntime(4936): at com.google.android.gms.internal.jx.a(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936): at com.google.android.gms.common.api.c.b(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936): at com.google.android.gms.internal.nf.requestLocationUpdates(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936): at hu.company.testproject.service.GpsService.startLocationListening(GpsService.java:169)
03-30 12:23:28.947: E/AndroidRuntime(4936): at hu.company.testproject.service.GpsService.onConnected(GpsService.java:259)
...
Il mio registro di debug dice anche la funzione onConnected stato chiamato:
03-30 12:23:28.847: I/Locationing_GpsService(4936): Google_Api_Client:connected.
03-30 12:23:28.857: I/Locationing_GpsService(4936): initLocationRequest:initing_now
03-30 12:23:28.877: I/Locationing_GpsService(4936): initLocationRequest:interval_5000
03-30 12:23:28.897: I/Locationing_GpsService(4936): initLocationRequest:priority_100
03-30 12:23:28.917: I/Locationing_GpsService(4936): Starting_location_listening:now
Dopo questo ho ottenuto l'eccezione.
Mi manca qualcosa qui? Ho ricevuto una risposta per "connesso" Ho eseguito la mia funzione, e ho ricevuto l'errore "non connesso" che cosa è questo? Inoltre una cosa fastidiosa è: ho usato questo servizio di localizzazione per settimane e non ho mai ricevuto questo errore.
EDIT:
ho aggiunto un output di registro più specifica, appena soffiato la mia mente, check this out:
uscita@Override
public void onConnected(Bundle bundle) {
if(mGoogleApiClient.isConnected()){
log("Google_Api_Client: It was connected on (onConnected) function, working as it should.");
}
else{
log("Google_Api_Client: It was NOT connected on (onConnected) function, It is definetly bugged.");
}
initLocationRequest();
startLocationListening();
}
log in questo caso:
03-30 16:20:00.950: I/Locationing_GpsService(16608): Google_Api_Client:connected.
03-30 16:20:00.960: I/Locationing_GpsService(16608): Google_Api_Client: It was NOT connected on (onConnected) function, It is definetly bugged.
Sì , ho appena ottenuto mGoogleApiClient.isConnected() == false
all'interno di onConnected()
come è possibile?
E D I T:
Dal momento che nessuno poteva rispondere a questa, anche con la reputazione di taglie, ho deciso di segnalare questo come un bug di Google. Quello che è seguito è stato davvero sorpreso da me. risposta ufficiale di Google per la mia relazione:
"Questo sito web è per le questioni di sviluppo con il codice AOSP Android fonte e il set di strumenti di sviluppo, e non applicazioni di Google o servizi quali Play Services, GMS o API di Google Purtroppo. non sembra che sia un luogo appropriato per segnalare bug con Play Services.Tutto quello che posso dire che questo sito non è, mi dispiace. Prova a pubblicare post sui forum dei prodotti Google . "
problema completa report here. (spero si suole rimuoverlo solo perché la sua stupida)
Quindi sì ho preso uno sguardo al Forum dei prodotti Google e proprio chef era estremamente trovare qualsiasi argomento per pubblicare questa cosa, così, alla momento Iam perplesso e bloccato
Vuol anyobody nel pianeta terra potrebbe aiutarmi con questo
EDIT:.?
codice completo nella pastebin
Potrebbe aggiungere un po 'di registrazione a onConnectionSuspended(), così per vedere se questo è chiamato in qualsiasi momento? –
@AntiVeeranna Ho ottenuto anche la registrazione su onConnectionSuspended() a quella funzione mai chiamata. –
Puoi anche pubblicare il codice che crea mGoogleApiClient? –