2 onActivityResultを接続する方法は?

アダム・スジーマンスキー:

私もGoogleの認証を使用しているので、私はFacebookの認証を追加することに問題があると私はエラーを持っている理由です

         public class SignUpActivity extends AppCompatActivity {
                callbackManager.onActivityResult(requestCode, resultCode, data);
                super.onActivityResult(requestCode, resultCode, data);
            //Google
            @Override
            public void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);

                // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
                if (requestCode == RC_SIGN_IN) {
                    Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
                    try {
                        // Google Sign In was successful, authenticate with Firebase
                        GoogleSignInAccount account = task.getResult(ApiException.class);
                        firebaseAuthWithGoogle(account);
                    } catch (ApiException e) {
                        // Google Sign In failed, update UI appropriately
                        Log.w(TAG, "Google sign in failed", e);
                        // ...
                    }
                }
            }

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

どのように私は2つのonActivityResultメソッドを持って見ることができます。それらを接続すると、エラーを取り除く方法はありますか?これは私のエラーのようなどのようなルックスです

方法onActivityResult(int型、int型、意図は)すでにクラスSignUpActivityで定義されています

それはちょうど、既存の2と同じ方法で通信します。ありがとうございました。

マルコスヴァスコンセロス:

onActivityResultAndroidの方法であり、それはあなたが開始した活動の結果を受けてstartActivityForResult、あなたが提供request_codeのintを返します。

溶液は、異なるREQUEST_CODESを使用することであるstartActivityForResultあなたが、その後で比較できるように、onActivityResult

お気に入り:

private static final int FACEBOOK_REQUEST_CODE = 1;
private static final int GOOGLE_REQUEST_CODE = 0;

startActivityForResult(googleLoginIntent, GOOGLE_REQUEST_CODE)
startActivityForResult(facebookLoginIntent, FACEBOOK_REQUEST_CODE)

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == GOOGLE_REQUEST_CODE) {
        //do the code for google result
    } else if (requestCode == FACEBOOK_REQUEST_CODE) {
        // do the code for facebook result
    }
}

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=385479&siteId=1