在this link之后,我创建了一个示例应用程序,但控件没有进入if循环:
if(user!=null)
为了进行调试,我尝试编写else部分并显示未找到的用户。
预期结果它应该显示hello 用户名
实际结果:显示用户未找到
完整的代码如下:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Session.openActiveSession(this, true, new Session.StatusCallback() {
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
else {
TextView welcome=(TextView) findViewById(R.id.welcome);
welcome.setText("User not found");
}
}
}).executeAsync();
}
}
});
}
令人惊讶的是,它只发生在模拟器上。在真实设备上,它工作正常
答案 0 :(得分:0)
遇到同样的问题。试试本教程https://developers.facebook.com/docs/android/login-with-facebook/v2.1
基本上,您必须实现UILifeCycle并访问Facebook用户令牌,您可以从中获取必要的信息。