2016-07-15 14 views
0

Hier ist mein Code für die Login-Aktivität:Warum wird der Benutzername in der Backendless-Konsole mit Facebook SDK-Login für eine Android-App als leer angezeigt?

public class LoginActivity extends Activity { 
private Button facebookButton; 
public static final String PREFS_NAME = "MyPrefsFile"; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.login); 

    initUI(); 

    Backendless.setUrl(Defaults.SERVER_URL); 
    Backendless.initApp(this, Defaults.APPLICATION_ID, Defaults.SECRET_KEY, Defaults.VERSION); 

    Backendless.UserService.isValidLogin(new DefaultCallback<Boolean>(this) 
    { 
     @Override 
     public void handleResponse(Boolean isValidLogin) 
     { 
      if(isValidLogin && Backendless.UserService.CurrentUser() == null) 
      { 
       String currentUserId = Backendless.UserService.loggedInUser(); 

       if(!currentUserId.equals("")) 
       { 
        Backendless.UserService.findById(currentUserId, new DefaultCallback<BackendlessUser>(LoginActivity.this, "Logging in...") 
        { 
         @Override 
         public void handleResponse(BackendlessUser currentUser) 
         { 
          super.handleResponse(currentUser); 
          Backendless.UserService.setCurrentUser(currentUser); 
          startActivity(new Intent(getBaseContext(), LoginSuccessActivity.class)); 
          finish(); 
         } 
        }); 
       } 
      } 

      super.handleResponse(isValidLogin); 
     } 
    }); 

    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    boolean hasLoggedIn = settings.getBoolean("loggedIn", false); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putBoolean("loggedIn", true); 
    editor.commit(); 

} 

private void initUI() 
{ 
    facebookButton = (Button) findViewById(R.id.loginFacebookButton); 

    facebookButton.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) 
     { 
      onLoginWithFacebookButtonClicked(); 
     } 
    }); 
} 

public void onLoginWithFacebookButtonClicked() 
{ 
    Backendless.UserService.loginWithFacebook(LoginActivity.this, new SocialCallback<BackendlessUser>(LoginActivity.this) 
    { 
     @Override 
     public void handleResponse(BackendlessUser backendlessUser) 
     { 
      startActivity(new Intent(getBaseContext(), LoginSuccessActivity.class)); 
      finish(); 
     } 
    }); 
} 

Doch nach einer erfolgreichen Anmeldung wird die Backendless Konsole der Namen des Benutzers nicht angezeigt. Ich glaube nicht, dass es in meinem Code irgendwelche syntaktischen Fehler gibt, ich muss einfach etwas übersehen haben.

Danke für jede Hilfe !!!

Antwort