2014-02-13 129 views
0

我將Facebook登錄功能添加到了我的應用程序中。它已成功連接並從應用程序註銷。如何在Android應用程序中獲取Facebook用戶名

我想在我的應用程序中打印該登錄用戶名。

任何人都可以幫助我找到它嗎?

我以前This爲例

這是我的代碼。

fbLogin.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       if(fb.isSessionValid()){ 
        try { 
         fb.logout(getApplicationContext()); 

         updateButtonImage(); 
        } catch (MalformedURLException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 

       }else{ 

        fb.authorize(MainActivity.this, new String[]{"email"}, new DialogListener() { 

         @Override 
         public void onFacebookError(FacebookError e) { 
          // TODO Auto-generated method stub 
          Toast.makeText(MainActivity.this, "fbError", Toast.LENGTH_LONG).show(); 
         } 

         @Override 
         public void onError(DialogError e) { 
          // TODO Auto-generated method stub 

         } 

         @Override 
         public void onComplete(Bundle values) { 
          // TODO Auto-generated method stub 
          updateButtonImage(); 

         } 

         @Override 
         public void onCancel() { 
          // TODO Auto-generated method stub 
          Toast.makeText(getApplicationContext(), "onCancel", Toast.LENGTH_LONG).show(); 
         } 
        }); 

       } 

      } 
     }); 

回答

1

您需要參考此鏈接facebook sdk ,並從用戶對象的信息。

Bundle params = new Bundle(); 
     params.putString("fields", "name,first_name,last_name"); 
     friendsRequest.setParameters(params); 

     // Get current logged in user information 
     Request meRequest = Request.newMeRequest(session, new Request.GraphUserCallback() { 

      @Override 
      public void onCompleted(GraphUser user, Response response) { 
       FacebookRequestError error = response.getError(); 
       if (error != null) { 
        Log.e(FriendSmashApplication.TAG, error.toString()); 
        handleError(error, true); 
       } else if (session == Session.getActiveSession()) { 
        // Set the currentFBUser attribute 
        ((FriendSmashApplication)getApplication()).setCurrentFBUser(user); 
       } 
      } 
     }); 

或者你可以試試這個例子。

http://www.androiddevelopersolution.com/2012/09/android-facebook-integration.html

+0

我可以將此添加到我的方法嗎? @Bhavesh Vadalia – anuruddhika

+0

是的,你可以嘗試這種方法,在集成檢查鏈接之前。它會顯示演示代碼。 –

0

我會按照有關如何獲取用戶的數據this Facebook的文檔,他登錄到您的應用程序後。

相關問題