1

私はここで奇妙な振る舞いに苦しんでいます。私はDialogFragmentを持っていて、そこにはLoginButtonがあります。それをクリックするとき、明らかに、私はユーザーが Facebook にログインすることを期待しています。

私が持っているコードは、1 つのアクティビティ プロジェクトで完全に正常に動作しています。コードを実際のプロジェクトに持ち込んだとき、単に Facebook のログイン ダイアログが表示されません。

次の URL を見つけましたhttp://webcache.googleusercontent.com/search?q=cache:OMGyXIBlu34J:developers.facebridge.net/bugs/248010695326479%3Fbrowse%3Dsearch_519371e4319283b59535107+&cd=1&hl=en&ct=clnk&gl=uk

この男は、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);
            }

それはそれを機能させました...もっときれいな解決策があるのだろうか?

4

2 に答える 2

0

ログインボタンを押した後、logcat を投稿できますか? ヒントがきっとあるはずです。ログインビューは表示されましたか? ログインしてもトークンを取得しませんでしたか?

于 2013-05-31T07:26:28.393 に答える