2012-09-13 60 views
0

需要帮助 - 我有这样为Android的Facebook按钮退出连接

public void logoutFromFacebook() { 
    mAsyncRunner.logout(this, new RequestListener() { 

     public void onComplete(String response, Object state) { 
      Log.d("Logout from Facebook", response); 
      if (Boolean.parseBoolean(response) == true) { 
       runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        // Login button visible 
        btnFbLogin.setVisibility(View.VISIBLE); 
        // making all remaining buttons invisible 
        btnFbGetProfile.setVisibility(View.INVISIBLE); 
        btnPostToWall.setVisibility(View.INVISIBLE); 
        btnShowAccessTokens.setVisibility(View.INVISIBLE); 
        btnFbLogout.setVisibility(View.INVISIBLE); 
       } 
      }); 
     } 
    } 
} 

的退出一些代码,但这些代码没有工作,当我点击注销,然后再次单击登录,我不是输入用户名和密码,我想如果我点击注销,当我再次点击登录,我可以再次输入用户名和密码,请输入需要解决方案,谢谢

回答

1

你必须像这样使用这种方式时,用户按下注销按钮,你必须执行此代码

public void runTestLogout() { 
    if (testLogout()) { 
     logoutText.setText("Logout Tests Passed"); 
    } else { 
     logoutText.setText("Logout Tests Failed"); 
    } 
} 



public boolean testLogout() { 
    try { 
     Log.d("Tests", "Testing logout"); 
     String response = authenticatedFacebook.logout(this); 
     Log.d("Tests", "Got logout response: *" + response + "*"); 
     if (!response.equals("true")) { 
      return false; 
     } 

     Log.d("Tests", "Testing logout on logged out facebook session"); 
     try { 
      Util.parseJson(authenticatedFacebook.logout(this)); 
      return false; 
     } catch (FacebookError e) { 
      if (e.getErrorCode() != 101 || 
        !e.getMessage().equals("Invalid API key")) { 
       return false; 
      } 
     } 

     Log.d("Tests", "Testing logout on unauthenticated object"); 
     try { 
      Util.parseJson(new Facebook(APP_ID).logout(this)); 
      return false; 
     } catch (FacebookError e) { 
      if (e.getErrorCode() != 101 || 
        !e.getMessage().equals("Invalid API key")) { 
       return false; 
      } 
     } 

     Log.d("Tests", "All Logout Tests Passed"); 
     return true; 
    } catch (Throwable e) { 
     e.printStackTrace(); 
     return false; 
    } 
} 

最主要的是

String response = authenticatedFacebook.logout(this); 

运行这段代码,你会被注销,现在你可以再次登录,您将得到空的用户名和密码按钮

+0

u能告诉我什么authenticatedFacebook? – Lia

+0

ya ...它的你的FACEBOOK OBJECT Facebook认证的Facebook =新的Facebook(APP_ID); –

+0

Facebook认证Facebook =新Facebook(APP_ID); –