0

Firebaseを通じて私のアプリにFacebookログインを統合しようとしています。ユーザーが「Facebookで続行」ボタンをクリックすると、青い進捗バーが表示され、ボタンのテキストが「ログアウト」に変わります。ログインが成功したときに別のアクティビティを開くつもりです。私はそのためにstartActivity()メソッドを使用しています。しかし、何も起こらない。助けてください!以下はFacebookのログイン後にMainActivityをAndroidアプリに登録するにはどうしたらいいですか?

は、私はこのために私はonActivityResultメソッドを書かれている、Firebaseても、Googleのログインを可能にしています私のログイン・アクティビティーののonCreate()メソッド

 callbackManager = CallbackManager.Factory.create(); 
    // Register your callback 
    LoginManager.getInstance().registerCallback(callbackManager, 
      // If the login attempt is successful, then call onSuccess and pass the LoginResult 
      new FacebookCallback<LoginResult>() { 
       @Override 
       public void onSuccess(LoginResult loginResult) { 

        // The HomeScreen.class should load, it is not happening. 
        startActivity(new Intent(getApplicationContext() ,HomeScreen.class)); 
        // I get this Log on my screen, which is proof that this loop is executed 
        Log.w("TAG", "User ID: " + 
          loginResult.getAccessToken().getUserId() + "\n" + 
          "Auth Token: " + loginResult.getAccessToken().getToken()); 
       } 
       // If the user cancels the login, then call onCancel 
       @Override 
       public void onCancel() { 
        Toast.makeText(getApplicationContext(), 
          "Canceled login through Facebook",Toast.LENGTH_LONG).show(); 
       } 
       // If an error occurs, then call onError 
       @Override 
       public void onError(FacebookException exception) { 
        Toast.makeText(getApplicationContext(), 
          " Facebook Login failed!",Toast.LENGTH_LONG).show(); 
        Log.w("FB failed", exception); 
       } 
      }); 

の抽出物です。それはこれです -

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) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     if (result.isSuccess()) { 
      // Google Sign In was successful, authenticate with Firebase 
      GoogleSignInAccount account = result.getSignInAccount(); 
      firebaseAuthWithGoogle(account); 

     } else { 
      // Handle failed signin here 
      Toast.makeText(getApplicationContext(), 
        "Google Sign In Failed, Please try with Facebook or Email!", Toast.LENGTH_LONG).show(); 
     } 
    } 
    callbackManager.onActivityResult(requestCode, resultCode, data); 

} 

答えて

0

この試してください:あなたは、フラグメントを使用している場合にこれを追加するよりも、

public void onSuccess(LoginResult loginResult) { 

      Intent intent = new Intent(loginActivity.this,HomeScreen.class); 
      startActivity(intent); 

      } 
+0

うーん、うまくいきませんでした! – Chirag

0

をボタン

buttonLogin.setFragment(this); 

とあなたするonSuccess()メソッドでログインFB、してみてくださいこの

startActivity(new Intent(getActivity() ,HomeScreen.class)); 
0

permissioを使用してくださいあなたがFacebookにログインしようとしているときに例:

LoginManager.getInstance().logInWithReadPermissions(getActivity(), Arrays.asList("public_profile", "email", "user_birthday", "user_photos")); 
関連する問題