Ricardo,
Request request = Request.newMeRequest( getSession(), new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if ( user != null ) {
String email = (String)user.getProperty("email");
textViewEmail.setText(email);
}
}
});
request.executeAsync();
Estou usando a api do facebook 3.0 na minha aplicação, porém não estou conseguindo pegar o email do usuario...procurei pelo internet e achei o seguintePorém quando uso a linha que ele pedesession.openForRead(new Session.OpenRequest(this).setPermissions(Arrays.asList("email")));
da o seguinte erro:
11-27 03:54:24.395: E/AndroidRuntime(2006): java.lang.UnsupportedOperationException: Session: an attempt was made to open a session that has a pending request.
o meu createComplete está assim:
--
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_marca_foto);
Settings.addLoggingBehavior(LoggingBehaviors.INCLUDE_ACCESS_TOKENS);
Session.openActiveSession(this, true, statusCallback);
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
}
}
private class SessionStatusCallback implements Session.StatusCallback {
@Override
public void call(Session session, SessionState state, Exception exception) {
usuario.setAccess_token(session.getAccessToken());
if(state.isOpened()){
Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
usuario.setUserIdFacebook(user.getId());
usuario.setUsername(user.getUsername());
}
});
Request.executeBatchAsync(request);
}
}
}
Eu sei que parece que estou tentando abrir duas sessões, mas como fazer isso sem dar erro?
Por favor alguém pode me da uma dica?
0 comentários:
Postar um comentário