Android facebook登录集成,用户为null

时间:2014-08-05 07:08:25

标签: facebook integration facebook-login android

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();  
                }  
            }  
        });  
    }  

令人惊讶的是,它只发生在模拟器上。在真实设备上,它工作正常

1 个答案:

答案 0 :(得分:0)

遇到同样的问题。试试本教程https://developers.facebook.com/docs/android/login-with-facebook/v2.1

基本上,您必须实现UILifeCycle并访问Facebook用户令牌,您可以从中获取必要的信息。