这是我登录 facebook 的代码。
mLoginButton = (LoginButton) findViewById(R.id.login);
// restore session if one exists
SessionStore.restore(Utility.mFacebook, this);
SessionEvents.addAuthListener(new FbAPIsAuthListener());
SessionEvents.addLogoutListener(new FbAPIsLogoutListener());
/*
* Source Tag: login_tag
*/
mLoginButton.init(this, AUTHORIZE_ACTIVITY_RESULT_CODE, Utility.mFacebook, permissions);
if (Utility.mFacebook.isSessionValid()) {
requestUserData();
}
public class FbAPIsAuthListener implements AuthListener {
//@Override
public void onAuthSucceed() {
requestUserData();
}
//@Override
public void onAuthFail(String error) {
mText.setText("Login Failed: " + error);
}
}
/*
* The Callback for notifying the application when log out starts and
* finishes.
*/
public class FbAPIsLogoutListener implements LogoutListener {
//@Override
public void onLogoutBegin() {
mText.setText("Logging out...");
}
///@Override
public void onLogoutFinish() {
mText.setText("You have logged out! ");
mUserPic.setImageBitmap(null);
}
}
在模拟器上它工作得很好。我已经尝试了 3 台设备,这些设备已经安装了 facebook,这就是问题所在。
它只是在加载时旋转,它什么也不做。我再次看到登录按钮。然后我尝试从原始 facebook 应用程序中注销,当按下我的应用程序上的登录按钮时,我看到了登录窗口,但现在我以前在登录模拟器时看到的是原始 facebook 应用程序的登录窗口。就像是已经开始了这个。
我使用的代码取自 hackbook.java