簡體   English   中英

android 中的 Facebook sdk 登錄問題

[英]Issue with Facebook sdk login in android

在此處輸入圖像描述

ImageView connect = (ImageView) findViewById(R.id.fconnect);
    connect.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
        facebook.authorize(SignIn.this, new String[] {"offline_access", "email", "read_friendlists","publish_stream" },new DialogListener() {
@Override
public void onComplete(Bundle values) {
String AccessToken = facebook.getAccessToken();
                    LoginDirect = "Loading Home....";
                    LoginProcessChkUserStatus();
                }

                @Override
                public void onFacebookError(FacebookError error) {
                }

                @Override
                public void onError(DialogError e) {
                }

                @Override
                public void onCancel() {
                }
            });
        }else{
            progress = true;
            LoginProcessChkUserStatus();
        }


        }
    });

這是facebook api ....我用於在我的應用程序中加載...這工作正常...當我單擊登錄按鈕...授權后進入完整階段...現在問題來了我手機中的 Facebook.apk 單獨取自 Facebook SDK....視圖變成了這個....當我點擊登錄按鈕時它永遠不會執行上面的代碼...

在此處輸入圖像描述

當我將 facebook 與我的應用程序集成時,我也遇到了一些類似的問題。 當我在我的應用程序中單擊 facebook 圖標時,本機 facebook 應用程序啟動,當我卸載本機 facebook 應用程序時,所有應用程序都正常工作。 我想出了通過以下方法解決此問題的方法,並將其發布在 stackoverflow 的以下鏈接上: “使用 Facebook 的 android sdk 進行身份驗證時發生錯誤” 實際上我的問題是,當我使用調試密鑰時,我輸入的密鑰 Hash 值在 facebook 應用程序寄存器中是錯誤的。 當我根據我在上面的鏈接中發布的內容更正密鑰 hash 時,我的問題得到了解決。 請也試試這個。

換屏是正常的。 如果您安裝了 Facebook 應用程序,則 SDK 使用它來登錄。如果沒有,它使用 WebView 進行身份驗證(如您的第一個屏幕截圖所示)。

為什么這不起作用? Facebook 應用程序使用來自 Android 活動機制的結果代碼。 我在您的代碼中沒有看到 onActivityResult() 。 確保在您的活動中實施。 它應該如下所示:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    facebook.authorizeCallback(requestCode, resultCode, data);
}

之后,您的代碼應該按預期工作。 :)

暫無
暫無

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

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