문제

저는 모든 내 앱 생활에 대해 사용자에게 로그인하는 데 문제가 있으므로 "로그인"이 주요 활동에 있습니다. 다른 활동을 시작하면 로그인 한 다른 활동을 시작하고 QuickBlox에 데이터를 업로드 할 수 있지만다른 활동을 시작한 후 데이터를 업로드 할 때 데이터를 업로드하려고 시도 할 때 오류가 발생했습니다. "

...

편집 :

 QBSettings.getInstance().fastConfigInit(String.valueOf(APP_ID), AUTH_KEY, AUTH_SECRET);
    QBUser user = new QBUser("login", "password");
    QBAuth.createSession(user, this, QBQueries.SIGN_IN);
.

도움이 되었습니까?

해결책

다른 문제라고 생각합니다

"토큰이 필요합니다."

세션을 제대로 만들어야합니다

        QBAuth.createSession(new QBCallbackImpl() {
            @Override
            public void onComplete(Result result) {
                if (result.isSuccess()) {
                    // do other requests here 
                    //
                } else {
                    handleErrors(result);
                }
            }
        });
.

문제가 아닌 경우 - 질문에 더 많은 코드를 제공하십시오

UPD

1) null

에 대한 토큰을 확인하려고합니다.
try {
    String token = BaseService.getBaseService().getToken();
    if(token == null){
        // recreate session here
    }
} catch (BaseServiceException e) {
    e.printStackTrace();
}
.

다른 팁

IM 여기서 사용하는이 API를 사용하는 방법을 모르지만 대체 제안을 원한다면 항상 SharedPreferences를 사용하여 사용자 세션을 저장했습니다.

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = settings.edit();
editor.putString("username", username); // Save the username with tag "username"
editor.putString("password", password); // Save the password with tag "password"
editor.commit();
.

및 사용자 정보를 다시 가져 오려면 :

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
u = settings.getString("username", null);
p = settings.getString("password", null);
if(u == null && p == null) {...} // No saved user session, have user sign in
else {...} // User already logged in, go to main screen 
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top