Android – retrieve user details such as name and address in Facebook integration
                                        
                    •
                    Android                                    
                Hi, I use the latest Facebook SDK to log in locally. I have successfully logged in locally, but I can't retrieve user details, such as name, address, etc. I use the following code. This line in my eclipse shows abandoned. Request. Executemerequestasync (session, new request. Graphusercallback())
loginbtn = (Button)findViewById(R.id.loginbutton);
        loginbtn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(MainActivity.this,FacebookLogin.class);
                startActivity(intent);
            }
        }); 
    public class FacebookLogin extends Activity{
    //private TextView textInstructionsOrLink;
    //private Session.StatusCallback statusCallback = new SessionStatusCallback();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.facebooklogin);
         Session.openActiveSession(this, true, new Session.StatusCallback() {
             // callback when session changes state
             @SuppressWarnings("deprecation")
        @Override
             public void call(final Session session, SessionState state, Exception exception) {
               if (session.isOpened()) {
                 // make request to the /me API
                 Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                   // callback after Graph API response with user object
                   @Override
                   public void onCompleted(GraphUser user, Response response) {
                     if (user != null) {
                      Log.i("USERName", ""+user.getName());
                      Log.i("Birthday", ""+user.getBirthday());
                      Log.i("LastName", ""+user.getLastName());
                      Log.i("FirstName", ""+user.getFirstName());
                        Intent i =new Intent(getApplicationContext(), MainActivity.class);
                        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(i);
                        finish();
                     }
                   }
                 });
               }
             }
           });
    }
    @SuppressWarnings("deprecation")
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.i("onActivityResult", "called");
        super.onActivityResult(requestCode, resultCode, data);
        Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
        Session session = Session.getActiveSession();
        if (session.isOpened()) {
           // make request to the /me API
            Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
              // callback after Graph API response with user object
              @Override
              public void onCompleted(GraphUser user, Response response) {
                if (user != null) {
                     Log.i("USERName", ""+user.getName());
                      Log.i("Birthday", ""+user.getBirthday());
                     Log.i("LastName", ""+user.getLastName());
                     Log.i("FirstName", ""+user.getFirstName());
                        Intent i =new Intent(getApplicationContext(), MainActivity.class);
                        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(i);
                        finish();
                        Log.i("USERName", ""+user.getName());
                }
              }
            });
          }else {
            finish();
        }
    }
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        Log.i("onSaveInstanceState", "called");
        super.onSaveInstanceState(outState);
        Session session = Session.getActiveSession();
        Session.saveSession(session, outState);
    }
}
@H_301_6@
                
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        