2

Android アクティビティから Facebook 承認を呼び出そうとしていますが、何らかの理由で onActivityResult が呼び出されません。

公式のチュートリアルに従い、この機能を試すためだけに非常に単純なアプリケーションを作成しました。

public class SimpleFacebookActivity extends Activity {
    private EditText console;
    private Facebook facebook = new Facebook(APP_ID);

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.console = (EditText)super.findViewById(R.id.console);
        this.console.append("Started\n\n");

        String text = Integer.toString(super.getIntent().getFlags() & Intent.FLAG_ACTIVITY_NO_HISTORY);
        this.console.append(text);

        this.facebook.authorize(this, new DialogListener() {
            @Override
            public void onComplete(Bundle values) {}

            @Override
            public void onFacebookError(FacebookError error) {}

            @Override
            public void onError(DialogError e) {}

            @Override
            public void onCancel() {}
        });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        this.console.append("onActivityResult, request code: " + requestCode + "\n\n");
        super.onActivityResult(requestCode, resultCode, data);
        this.facebook.authorizeCallback(requestCode, resultCode, data);

    }
}

ログに記録する TextEdit ウィジェットを追加しました。このアプリケーションを実行すると、次のようになります。

Started

0

FLAG_ACTIVITY_NO_HISTORY が設定されているかどうかを確認したのは、チュートリアルと Stack Overflow で見た別の投稿で言及されているためですが、私の場合は設定されていないため、問題になることはありません。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

5

これは、Facebook でアプリにいくつかのキーを追加する必要があるためだと思います。

https://developers.facebook.com/docs/mobile/android/build/#sig

ただし、ステップバイステップガイドに従っているとキーが正しく作成されないため、Facebook SDK のデバッガーを確認して、使用しているキーがあなたのキーと同じではないなどのエラーをスローする必要があります。アプリ、コピーペースト、出来上がり!

于 2012-01-24T15:36:23.247 に答える
0

Facebook SDKはわかりませんが、これらのDialogListenerメソッドを実装する必要があるようです。そうしないと、もちろんコールバックは発生しません。

于 2012-01-21T17:48:02.467 に答える