簡體   English   中英

為什么在使用Facebook登錄按鈕調用CallbackManager上的onActivityResult()后絕對沒有任何反應?

[英]Why absolutely nothing happens after calling onActivityResult() on the CallbackManager using the Facebook Login Button?

我一直試圖弄清楚如何解決這個問題但是沒有成功。

這里的問題是在點擊登錄按鈕后,它正常加載Facebook活動,當它完成時,我的活動收到活動結果並通知CallbackManager(所有文檔中描述的)。

不幸的是,從這一點來看沒有任何事情發生,注冊的FacebookCallback沒有執行任何方法,甚至沒有記錄一行來通知錯誤。

以下是涉及的文件:

public class LoginActivity extends Activity

    CallbackManager callbackManager;
    LoginButton loginFacebook;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FacebookSdk.sdkInitialize(this);

        setContentView(R.layout.activity_login);


        ...


        callbackManager = CallbackManager.Factory.create();
        loginFacebook = (LoginButton) findViewById(R.id.login_button);
        loginFacebook.setReadPermissions("public_profile","email");
        loginFacebook.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {

            @Override
            public void onSuccess(LoginResult loginResult) {
                ...
                (This is never executed)
            }

            @Override
            public void onCancel() {
                ...
                (Not executed)
            }

            @Override
            public void onError(FacebookException e) {
                ...
                (Not executed either)
            }
        });

    }



    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        callbackManager.onActivityResult(resultCode, resultCode, data);
        super.onActivityResult(requestCode, resultCode, data);
    }


    ...


}

activity_login.xml包含這樣的按鈕

<com.facebook.login.widget.LoginButton
            android:id="@+id/login_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"/>

我還在我的android清單文件中添加了Facebook Activity和APP ID

<activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />

以及facebook應用程序中的android app鍵。

希望找到解決方案,非常感謝。

好的,我現在看到了。 這可能是錯的

callbackManager.onActivityResult(resultCode, resultCode, data);

請參閱resultCode兩次輸入。 你想要做的是:

callbackManager.onActivityResult(requestCode, resultCode, data);

嘗試在應用程序之間的manifest.xml中添加它

<activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" /><activity

暫無
暫無

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

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