Итак, я нашел кое-что, что не очень ясно для меня о GoogleApiClient. GoogleApiClient имеет функцию под названием onConnected который бежал, когда клиент подключен (обязательно)GoogleApiClient бросает «GoogleApiClient еще не подключен» ПОСЛЕ onConnected, получив вызов
я получил свою собственную функцию под названием: startLocationListening, который в конечном счете вызывался на onConnected функции GoogleApiClient в ,
Так что моя startLocationListening не могла работать без подключения GoogleApiClient.
код и войти:
@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);
}
Исключение:
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)
...
Мой журнал отладки также говорит onConnected функция получил называется:
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
После этого я получил исключение.
Я что-то упустил? Я получил ответ на «подключен», я запустил мой func, и я получил ошибку «не подключен», что это? Плюс одна досадная вещь: я использовал эту службу определения местоположения в течение нескольких недель и никогда не получал эту ошибку.
EDIT:
Я добавил более конкретный выход журнала, просто взорван мой ум, проверить это:
выход@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();
}
войти этом случае:
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.
Да , я только что получил mGoogleApiClient.isConnected() == false
внутри onConnected()
как это возможно?
E D I T:
Поскольку никто не мог ответить на этот вопрос, даже с репутацией щедрот, я решил сообщить об этом как об ошибке в Google. Что было дальше, меня действительно удивило. Официальный ответ Google для моего доклада:
«Этот веб-сайт по вопросам разработчиков с источником кода AOSP Android и набор инструментов для разработчиков, а не приложений Google или услуг, таких как Play услуги, GMS или API, Google сожалению. похоже, что не будет подходящим местом для сообщения об ошибках в Play Services.Все, что я могу сказать , это то, что этот сайт не так, извините. Попробуйте опубликовать на Форуме продуктов Google . "
Полный выпуск report here. (я надеюсь, что они не будут удалять это только потому, что его глупо)
Так что да, я посмотрел на Google Форумы по продуктам и просто coudnt найти любую тему, чтобы опубликовать эту вещь, поэтому на момент Иам озадачен и застрял
ли anyobody на планете земля может помочь мне с этим
EDIT:.?
Полный код в pastebin
Не могли бы вы добавить протоколирование в onConnectionSuspended(), а также, чтобы убедиться в том, что называется в любое время? –
@AntiVeeranna Я также получил регистрацию в onConnectionSuspended(), когда эта функция никогда не вызывалась. –
Можете ли вы также опубликовать код, который создает mGoogleApiClient? –