我有一个带有 Facebook 登录的小型 Android 应用程序,我的手机上也安装了 Facebook 应用程序。Facebook登录的代码如下:
if(access_token != null && access_token != "")
facebook.setAccessToken(access_token);
if(expires != 0)
facebook.setAccessExpires(expires);
if(!facebook.isSessionValid())
{
facebook.authorize(this, new String[] { "email", "publish_checkins", "publish_stream" }, new DialogListener()
{
public void onComplete(Bundle values)
{
/*
if (GlobalData.user != null)
{
GlobalData.user.fbToken = facebook.getAccessToken();
GlobalData.user.fbTokenExpires = facebook.getAccessExpires();
dataSource.addUser(GlobalData.user);
}
else */
gatherFacebookData();
}
public void onFacebookError(FacebookError error)
{
Toast.makeText(context, "Error: " + error, Toast.LENGTH_SHORT).show();
return;
}
public void onError(DialogError e)
{
Toast.makeText(context, "Error: " + e, Toast.LENGTH_SHORT).show();
return;
}
public void onCancel()
{
Toast.makeText(context, "Canceled", Toast.LENGTH_SHORT).show();
return;
}
});
}
else
this.gatherFacebookData();
在安装 Facebook 应用程序之前,我可以毫无问题地在我的应用程序中使用 Facebook SSO。但是,现在我单击“使用 Facebook 登录”按钮,弹出窗口会闪烁并带有加载屏幕,然后立即消失。没有调用任何 DialogListener 函数,所以我不知道会发生什么。Logcat 根本不显示任何错误。
我究竟做错了什么?
谢谢!