私は最新のFacebook Android SDKを使用してユーザーを認証していますが、この問題が発生しています。AndroidのFacebookログインが処理されていません
カスタムActivityResultハンドラシステムを使用してルートアクティビティを設定しています(基本的にフラグメントは、特定の結果のActivityResultHandlersを登録して削除することができ、フラグメント内の相互アクティビティ要求の結果を処理します)。私はFacebookのCallbackManager、とそれはSDKのドキュメントに記述されている方法、これを拡大してきました:私の活動で
を、私はこれを持っている:
@Override
void onCreate(Bundle bundle) {
[...]
setContentView(R.layout.activity);
FacebookSdk.sdkInitialize(getApplicationContext());
facebookCallbackManager = CallbackManager.Factory.create();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
for (Map.Entry<Integer, ActivityResultHandler> entry : activityResultHandlers.entrySet()) {
if (entry.getKey() == requestCode)
entry.getValue().onActivityResultCustom(requestCode, resultCode, data);
}
super.onActivityResult(requestCode, resultCode, data);
facebookCallbackManager.onActivityResult(requestCode, resultCode, data);
}
そして、私のフラグメントで
、私は次の操作を行います。@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
[...]
LoginManager.getInstance().registerCallback(
((MainActivity)getActivity()).getFacebookCallbackManager(),
new FacebookCallback<LoginResult>() { [...] }
);
}
次に、ボタンを押すとLoginManagerが呼び出されます(私はカスタムグラフィックスを使用しているため、残念ながらFacebookLoginButtonは問題ありません)。
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email","user_friends","public_profile"));
さて、この部分は正常に動作し、私はfacebookCallbackManager.onActivityResult()
メソッドが呼び出されたデバッガで見ることができます。しかし、内部では、SDKが全く異なる要求コード(129742)を返す間、LoginManagerが特定の応答コード(64206と言う)に登録されていることがわかり、LoginManagerコールバックは処理されません。
私はここで間違っていますか?
助けになりません。コールバックはまだ処理されていません。 – fonix232