3

我在登录 facebook 时使用的是 facebook SDK 3.0,它返回登录屏幕而不是进入下一个活动,但我想直接进入下一个活动。

这是我的代码:-

if (session.isOpened()) {
        token = session.getAccessToken();
        Log.i("TAG", "Access Token" + token);
        Request.executeMeRequestAsync(session,new Request.GraphUserCallback() {
            @Override
            public void onCompleted(GraphUser user, Response response) {
                    if (user != null) {
                        id = user.getId();
                        Log.i("TAG", "User ID " + user.getId());
                        Log.i("TAG", "Email "+ user.asMap().get("email"));

                            try {
                                URL image_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large" );
                                profPict=BitmapFactory.decodeStream(image_value.openConnection().getInputStream());

                                    } catch (MalformedURLException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }

                                    //http://graph.facebook.com/4/picture

                                    Intent i = new Intent(MainActivity.this,Next.class);
                                     i.putExtra("BitmapImage", profPict);  
                                    startActivity(i);
                                    // lblEmail.setText(user.asMap().get("email").toString());
                            }
                    }
            });
}

onActivityResult()

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode,
            resultCode, data);}
4

2 回答 2

2

嘿,请在 onActivityResult 块中插入以下代码:

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
    if (Session.getActiveSession() != null || Session.getActiveSession().isOpened()){
                 Intent i = new Intent(MainActivity.this,Next.class);
                startActivity(i);
            }

这工作正常。

于 2013-07-20T08:25:34.070 回答
1

onActvityResult()中,检查结果是否为RESULT_OK,如果是则开始新活动。我假设您没有开始任何其他活动以获得结果。

请参阅此代码 - FbLoginActivity这只是一个骨架,您可以按照它登录到 facebook

您也可以参考 this-> FbLoginButton

于 2013-05-04T11:44:48.567 回答