2012-05-14 87 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()); 
     } 
    }