由于我需要用于异步任务的用户位置,因此我使用LocationServices api来获取用户的纬度和经度。然后在onConnected中,我执行异步任务。我在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");
}
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
使用标志只执行一次