Метод onComplete не вызывается по желанию htc - PullRequest
3 голосов
/ 21 июля 2011

Я реализую функцию входа в Facebook на Android, которая работает нормально на эмуляторе и на устройстве Google Nexus. Однако, похоже, что авторизация отменена пользователем в HTC Desire S, поэтому onComplete() никогда не вызывается. Единственное отличие, которое я обнаружил, заключается в том, что в HTC есть встроенное приложение для Facebook. Это код, который я использую:

private void Login(){
    facebook.authorize(this,new String[] {"email"}, new Facebook.DialogListener() {
        @Override
        public void onComplete(Bundle values) {
            Log.d("Auth","onCompleteCalled");

        }

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {
            Log.d("Auth","Cancelled");

        }
    });

Сообщение об ошибке приходит из этого раздела кода SDK Facebook:

} else if (resultCode == Activity.RESULT_CANCELED) {

            // An Android error occured.
            if (data != null) {
                Log.d("Facebook-authorize",
                        "Login failed: " + data.getStringExtra("error"));
                mAuthDialogListener.onError(
                        new DialogError(
                                data.getStringExtra("error"),
                                data.getIntExtra("error_code", -1),
                                data.getStringExtra("failing_url")));

            // User pressed the 'back' button.
            } else {
                Log.d("Facebook-authorize", "Login canceled by user."); //This is the error I get
                mAuthDialogListener.onCancel();
            }

1 Ответ

0 голосов
/ 14 декабря 2012

Пожалуйста, обновите ниже код вашего приложения, это решит вашу проблему.

public void loginAndPostToWall() {
    facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
            new LoginDialogListener());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...