簡體   English   中英

從我的應用程序登錄到Facebook可以在模擬器上運行但不在設備上運行

[英]logging in to facebook from my app works on emulator but not on device

這是我登錄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

平台狀態表明SSO存在問題。

只有在Android設備上安裝了facebook應用程序時才能使用SSO,並且您所描述的內容適合所有這些。 在模擬器上,您沒有facebook應用程序,因此當您的應用程序嘗試在其中記錄用戶時,使用它在sdk中的對話框,而不是使用fb應用程序附帶的SSO進程。

在設備上你怎么說你有fb應用程序,所以SSO開始,至少目前,它有一個問題。 嘗試卸載設備上的Facebook應用程序或者只是取消SSO,即: 如何禁用Facebook單點登錄為Android - Facebook-android-sdk

您需要生成系統的哈希鍵,並通過編輯現有的Facebook應用程序來放置它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM