2012-05-14 116 views
0

我有一個應用程序使用Android的Facebook SDK登錄到我的應用程序。但我在檢查用戶是否已登錄時遇到了一些問題。登錄頁面後,主界面將顯示給用戶。我想要的是,如果用戶在與應用程序的過去交互中登錄過,則在下次啓動應用程序時,不會再有更多的登錄屏幕在主界面上。所以在啓動時,我的應用程序應該檢查用戶是否登錄。我將如何做到這一點?檢查Facebook登錄Android

我嘗試使用mFacebook.isSessionValid(),但它總是返回false。

回答

0

你可以試試下面的代碼:

if(mFacebook.isSessionValid()) { 
onFacebookClick(); 
} 

private void onFacebookClick() { 
     if (mFacebook.isSessionValid()) { 
      final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage("Delete current Facebook connection?") 
        .setCancelable(false) 
        .setPositiveButton("Yes",new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog,int id) { 
           fbLogout(); 
           } 
          }) 
        .setNegativeButton("No",new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog,int id) { 
           dialog.cancel(); 
           facebook_btn.setText(getResources().getString(R.string.signinout)); 
           } 
          }); 
      final AlertDialog alert = builder.create(); 
      alert.show(); 
     } else { 
      facebook_btn.setText(getResources().getString(R.string.signin)); 
      mFacebook.authorize(this, PERMISSIONS, -1,new FbLoginDialogListener()); 
     } 
    }