2012-11-21 48 views
0

我跟着本教程http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/将Facebook连接到我的Android应用程序。我有一个用于登录和注销的按钮,而不是有很多按钮。为什么Facebook登录页面在我登录Android后尝试重新登录时未显示?

1)我第一次运行该课程时,我可以登录并成功注销。当我点击相同的按钮再次登录时,登录页面将不会出现,但Toast文本“LOGGING IN”出现,这是loginToFacebook()函数在我的if-else之后。因此,我假设,它应该像我第一次运行该课程一样运行Facebook登录页面。但登录页面不显示。

我做错了什么?我该怎么做?

2)如何在登录后在String fbLoggedIn中显示用户名,而不是文本“CONNECTED !!” ?为了更清楚起见,我设置了我的if-else就像这样(从上面的完整代码中提取)。

RelativeLayout fbButton = (RelativeLayout) findViewById(R.id.fbLayout); 
    fbButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if (!facebook.isSessionValid()) 
      { 
      System.out.println("Not Connected. Clicked and Login.");  
      loginToFacebook(); 
      Toast.makeText(getApplicationContext(), "LOGGING IN", Toast.LENGTH_LONG).show();} 

      else 
      { 
      System.out.println("Connected. Logged Out."); 
      logoutFromFacebook(); 
      Toast.makeText(getApplicationContext(), "LOGGED OUT", Toast.LENGTH_LONG).show();} 
     } 
    }); 

回答

0

这是Facebook希望你把他们API.Your登录方法检查,看看是否已经在一次和Facebook的会话是活动的签署行为。如果会话处于活动状态,则会设置facebook对象的属性并将其连接到sences后面,以便登录页面不会再显示。

所以你没有做错任何事情,它会以这种方式发生。

+0

谢谢您的明确解释。所以如果我想让登录页面再次出现,我将不得不终止会话? –

+0

是的。只需在活动结束时或您的活动需要重置并且应该再次出现时手动调用您的注销方法。 – zabawaba99

+0

我该怎么做?你能告诉我一些例子吗? –

相关问题