안드로이드 웹앱 카카오로그인 accessToken관련 문의

앱 환경에서 카카오 로그인 첫 시도시
카톡 로그인 되어있는 경우든 로그인 안되어있어서 새로뜬 로그인페이지에서 로그인 하든 accessToken이 빈값으로 옵니다.
한번 오류나고 나면 다음 시도때는 정상적으로 accessToken이 받아지고요.
왜 이런현상이 일어나는지 모르겠어요.

아래는 native환경 카카오로그인 구현부입니다.

import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.Toast;

import com.enrsoft.gogiya.wvApp.R;
import com.kakao.auth.ApiResponseCallback;
import com.kakao.auth.AuthService;
import com.kakao.auth.AuthType;
import com.kakao.auth.ISessionCallback;
import com.kakao.auth.Session;
import com.kakao.auth.network.response.AccessTokenInfoResponse;
import com.kakao.network.ErrorResult;
import com.kakao.util.exception.KakaoException;
import com.kakao.util.helper.log.Logger;

public class KakaoLoginServiceImpl implements LoginService, ISessionCallback {
private Context context;
private String accessToken = “”;

public KakaoLoginServiceImpl(Context context) {
    this.context = context;
    Session.getCurrentSession().addCallback(this);
}

@Override
public void login() {
    Session.getCurrentSession().open(AuthType.KAKAO_TALK, (Activity) context);
    Toast.makeText(context, context.getString(R.string.webview_login_kakao), Toast.LENGTH_SHORT).show();

}

private void reqAccessToken(){
    AuthService.getInstance().requestAccessTokenInfo(new ApiResponseCallback<AccessTokenInfoResponse>() {
        @Override
        public void onSessionClosed(ErrorResult errorResult) {
            Log.e("kakao", errorResult.getErrorMessage());
        }

        @Override
        public void onNotSignedUp() {

        }

        @Override
        public void onSuccess(AccessTokenInfoResponse result) {
            long userId = result.getUserId();
            Logger.d("this access token is for userId=" + userId);

            long expiresInMilis = result.getExpiresInMillis();
            Logger.d("this access token expires after " + expiresInMilis + " milliseconds.");

            Session.getCurrentSession().getAccessToken();
        }
    });

}

@Override
public void onSessionOpened() {
    reqAccessToken();
    accessToken = Session.getCurrentSession().getAccessToken();
}

@Override
public void onSessionOpenFailed(KakaoException exception) {
    Log.e("kakao", exception.getMessage());
    if(exception != null) {
        Logger.e(exception);
    }

}

@Override
public String getAccessToken() {
    return this.accessToken;
}

}

아래는 javascript에서 native호출을 위해 구현된 부분입니다.

@JavascriptInterface
public String tryKakaoLogin() {
LoginService loginService = Login.loginService(context, LoginType.KAKAO);

    // 카카오 인스턴스 초기화
    loginService.login();
    String accessToken = loginService.getAccessToken();
    return accessToken;

}

javascript단에 accessToken만 잘 들어오면 정상작동합니다.
중간에 받은 프로젝트이고 안드로이드에 경험이 적다보니 혼자해결하기 힘들어서 올립니다.
추가적으로 필요한 정보 있으시면 알려주세요.