android - sesion - un codigo para facebook
Cómo descifrar el código de Facebook (1)
¿Alguien podría ayudarme a descifrar este código? Este es el ejemplo de Facebook (sobre cómo conectarse a una cuenta de FB - https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ ), sin embargo, la línea marcada:
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
es obsoleto. Traté de reemplazarlo con:
Request.newMeRequest( session, callback, executeAsync() );
Sin embargo, el código está anidado tan confusamente que lo estropea todo. Agradecería cualquier ayuda que pudieran brindar ya que he estado en esto todo el día.
// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // *DEPRECATED
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
});
}
}
});
}
Saludos
Reemplace su Request.executeMeRequestAsync
con:
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
}).executeAsync();
es decir, nada cambia excepto que está llamando a un método ligeramente diferente y poniendo .executeAsync()
al final.