2016-04-27 10 views
0

In dieser Android-Anwendung möchte ich die Benutzerdaten (E-Mail-ID, Name, etc) aus dem autorisierten Google-Konto abrufen. In diesem Fall speichere ich Token, um festzustellen, ob der Benutzer angemeldet ist oder nicht, und wenn der Benutzer bereits angemeldet ist, werden die grundlegenden Benutzerdaten abgerufen.Erhalten von grundlegenden Benutzerdaten von autorisierten Google-Konto

Der Code verwendet eine Schaltfläche zum Anmelden.

public void login(View view){ 

    if (loadUserTokenCache(mClient)){ 
     TextView tv1 = (TextView)findViewById(R.id.textView2); 
     tv1.setVisibility(View.VISIBLE); 
    } 
    else { 
     ListenableFuture<MobileServiceUser> mLogin = mClient.login(MobileServiceAuthenticationProvider.Google); 

     Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() { 
      @Override 
      public void onFailure(Throwable exc) { 
       createAndShowDialog("You must log in. Login Required", "Error"); 
      } 
      @Override 
      public void onSuccess(MobileServiceUser user) { 
       createAndShowDialog(String.format(
         "You are now logged in - %1$2s", 
         user.getUserId()), "Success"); 
       cacheUserToken(mClient.getCurrentUser()); 
      } 
     }); 

    } 
} 

Antwort

0

Sie können dies mit dem AccountsManager tun. Auf diese Weise können Sie beispielsweise das Google Mail-Konto des Nutzers abrufen.

// Retrieve the gmail associated with the device that is being used. 
    String gmailID = ""; 
    Account[] accounts = AccountManager.get(getActivity()).getAccountsByType("com.google"); 
    if(accounts.length > 0) { 
     gmailID = accounts[0].name; 
    } 
Verwandte Themen