我有一个使用 Facebook SDK for Android 登录到我的应用程序的应用程序。但是我在检查用户是否已经登录时遇到了一些问题。登录页面后,将向用户显示主界面。我想要的是,如果用户在过去与应用程序的交互中已经登录,那么下次启动应用程序时,不再有登录屏幕,只有主界面。所以在启动时,我的应用程序应该检查用户是否登录。我将如何做?
我尝试使用mFacebook.isSessionValid()
,但它总是返回一个错误。
我有一个使用 Facebook SDK for Android 登录到我的应用程序的应用程序。但是我在检查用户是否已经登录时遇到了一些问题。登录页面后,将向用户显示主界面。我想要的是,如果用户在过去与应用程序的交互中已经登录,那么下次启动应用程序时,不再有登录屏幕,只有主界面。所以在启动时,我的应用程序应该检查用户是否登录。我将如何做?
我尝试使用mFacebook.isSessionValid()
,但它总是返回一个错误。
您可以尝试以下代码:
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());
}
}