Использование facebook.authorize с Android SDK не вызывает ActiveX Result - PullRequest
2 голосов
/ 21 января 2012

Я пытаюсь вызвать авторизацию Facebook из-за активности на Android, но по какой-то причине он никогда не вызывает 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, так как они упоминают об этом в учебнике и в другом посте, который я видел здесь о переполнении стека, но в моем случае он не задан, и поэтому проблема не может быть.

Как я могу решить эту проблему?

Ответы [ 2 ]

5 голосов
/ 24 января 2012

Я думаю, это потому, что вам нужно добавить ключ к вашему приложению в Facebook:

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

Но ключ создается неправильно, когда вы следуете пошаговому руководству, поэтому вы должны проверить отладчик Facebook SDK, чтобы вывести сообщение об ошибке, сообщающее, что ключ, который вы используете, не является то же самое из вашего приложения, скопируйте пасту и вуаля!

0 голосов
/ 21 января 2012

Я не знаю Facebook SDK, но мне кажется, вам следует реализовать эти DialogListener методы.В противном случае вы, конечно, не получите обратного вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...