これは、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);
}
}
エミュレーターでは完璧に動作します。すでにFacebookがインストールされているトン3のデバイスで試しましたが、ここに問題があります。
ロード時に回転するだけで、何もしません。ログインボタンが再び表示されます。次に、元のFacebookアプリケーションからログアウトしようとしました。アプリのログインボタンを押すと、ログインウィンドウが表示されますが、エミュレーターにログインすると、元のFacebookアプリケーションのログインウィンドウが表示されます。のようにこれを始めました。
私が使用しているコードは、hackbook.javaから取得されています