簡體   English   中英

Android-隱藏Facebook登錄按鈕

[英]Android - hide Facebook login button

我遵循了Facebook文檔 ,使用登錄按鈕創建了一個簡單的應用程序。

現在,我希望在用戶已經登錄后隱藏登錄按鈕。

我在stackoverflow上閱讀過,我應該保存訪問令牌字符串及其有效期限,並檢查其是否已“過期”(忽略Facebook可以在任何時候使之過期的情況-只是理論上而言)或是否尚未插入(指示用戶尚未登錄),然后分別顯示/隱藏按鈕。

我嘗試調整以下方法:

@Override
    public View onCreateView(LayoutInflater inflater, 
            ViewGroup container, 
            Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.activity_main, container, false);
    LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
    authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("public_profile", "user_friends"));
    if(!hasToShowLogin()){
        authButton.setVisibility(View.GONE);
    }


    return view;
}

方法“ hasToShowButton”中的代碼不相關,因為它可以工作,僅用於演示。

上面的代碼應在首次創建視圖時隱藏按鈕,而該代碼應在登錄完成后位於OnActivityResult中隱藏按鈕:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);

    View view = getView();
    LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
    authButton.setVisibility(View.GONE);
}

發生的事情是該按鈕無論如何一直顯示,並且照常工作。

總結一下,我想做的是:

  1. 成功登錄后隱藏登錄按鈕
  2. 在用戶進入應用程序的以下次數中,隱藏登錄按鈕

(換句話說:用戶登錄時從不顯示登錄按鈕)

在HOURS上為此感到震驚。 謝謝幫手!

PS Just注意到,盡管setVisibility不會隱藏按鈕,但登錄后該按鈕不起作用。 所以它已經到一半了,我也只需要把它從屏幕上隱藏起來...

這對我有用。

boolean loggedIn = AccessToken.getCurrentAccessToken() != null;
    if (loggedIn){
        loginButton.setVisibility(View.GONE);
    }
    else{
        loginButton.setVisibility(View.VISIBLE);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM