[英]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);
}
發生的事情是該按鈕無論如何一直顯示,並且照常工作。
總結一下,我想做的是:
(換句話說:用戶登錄時從不顯示登錄按鈕)
在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.