每次设备屏幕关闭再打开时都会调用 GoogleApiClient

GoogleApiClient called every time device screen is turned off and on again

因为我的异步任务需要用户位置,所以我使用 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");
    }

如有任何帮助,我们将不胜感激。谢谢。

使用标志只执行一次语句