Тъй като имам нужда от местоположението на потребителите за моята асинхронна задача, използвам API на LocationServices, за да получа географската ширина и дължина на потребителите. след това в onConnected изпълнявам async задачата. Правя това в onConnected, а не в onCreate, тъй като имам нужда от местоположението на потребителите.
Проблемът е, че всеки път, когато изключа и включа екрана отново, onConnected се извиква отново, което кара асинхронната задача да се изпълни отново.
Ето моите методи за GoogleApiClient.
@Override
public void onStart() {
Log.e("Connected?", String.valueOf(mGoogleApiClient.isConnected()));
mGoogleApiClient.connect();
super.onStart();
}
@Override
public void onStop() {
mGoogleApiClient.disconnect();
super.onStop();
}
@Override
public void onConnected(Bundle bundle) {
Log.i("onConnected", "onConnected called"); //called everytime screen is turned off and on again
new asynctask().execute();
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.i("ConnectionFailure", "onConnetion failed");
}
Всяка помощ ще бъде много ценена. Благодаря.