5

私はFacebookにカスタムインターフェースを使ってログインしようとしていますが、それはアクティビティクラスでうまくいきました。同じことを私は断片でもしなければならない。コールバックは実行されていません。 CallbackResultをFragmentのOnActivityResultに追加することはできませんか?Facebook login in fragment in android

答えて

12

はい、それはフラグメントにFacebookのログインを実装するためにPosssibleです、あなたがする必要がある唯一のものは、このようなあなたのホストの活動にOnActivityResult呼んでいます。

14

あなたのアクティビティonActivityResultにこのコードを追加するだけです。

for (Fragment fragment : getSupportFragmentManager().getFragments()) { 
      //System.out.println("@#@"); 
      fragment.onActivityResult(requestCode, resultCode, data); 
     } 

フラグメントのonActivityResultが確実に機能します。

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Fragment fragment = getFragmentManager().findFragmentById(R.id.your_host_fragment_in_activity); 
     fragment.onActivityResult(requestCode, resultCode, data); 
    } 

、その後、youtはフラグメントに再びonActivityResult呼び出す:

@Override 
     public void onActivityResult(final int requestCode, final int resultCode, final Intent data) { 


      callbackManager.onActivityResult(requestCode, resultCode, data); 
     }