私はここで奇妙な振る舞いに苦しんでいます。私はDialogFragmentを持っていて、そこにはLoginButtonがあります。それをクリックするとき、明らかに、私はユーザーが Facebook にログインすることを期待しています。
私が持っているコードは、1 つのアクティビティ プロジェクトで完全に正常に動作しています。コードを実際のプロジェクトに持ち込んだとき、単に Facebook のログイン ダイアログが表示されません。
この男は、Facebook のコードに問題がある可能性を報告しています。実際、私はコードをデバッグしており、それは ContextWrapper です。だから私は彼のコードを追加しましたが、まだ動作しません。
私のコードはかなり単純です:
uiHelper = new UiLifecycleHelper(mActivity, callback);
loginButton = (LoginButton) view.findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList("basic_info","email"));
.....
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
uiHelper.onActivityResult(requestCode, resultCode, data);
.....
private Session.StatusCallback callback =
new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.i(TAG, state.name());
if(session.isOpened())
IS_SOCIAL = true;
}
};
それだけです...「OPENING」状態になりますが、他には何もありません。そこで止まります。
これを見た人いますか?
よろしく、フェリペ
EDIT 1
問題が何であるかを見つけました:私のアクティビティonActivityResult
が呼び出されていました。理由はわかりません。だから私がしたことは:
if(requestCode == 64206) //Bad hacking
//df is the DialogFragment
if(df!=null) {
df.onActivityResult(requestCode, resultCode, data);
}
それはそれを機能させました...もっときれいな解決策があるのだろうか?