Комплект учетной записи Facebook OnActivityResult не получает правильные данные

Я использую комплект учетной записи facebook для проверки номера мобильного телефона. Каким-то образом я в некоторых случаях получаю Системную проблему. Повторите попытку позже.

Даже я ничего не получаю наActivityResult, так как повторное нажатие заставляет меня вводить экран номера мобильного телефона, который находится из самого SDK.

Ниже приведен код ActivityResult

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);



        if (requestCode == 99) { // confirm that this response matches your request
            AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY);
            String toastMessage;
            if (loginResult.getError() != null) {
                AccountKitError error = loginResult.getError();
                try{
                    int code  = error.getDetailErrorCode();
                    String message = error.getUserFacingMessage();
                    AccountKitError.Type type = error.getErrorType();


                    String str_error = "Code : "+code+"\ndescription : "+message+"\ntype : "+type.name()
                            +"\ntype_message : "+type.getMessage()+"\ntype_code : "+type.getCode();
                    showAlert(str_error);
                }catch (Exception e){
                }
                Toast.makeText(getApplicationContext(),"Login Error",Toast.LENGTH_SHORT).show();

            } else if (loginResult.wasCancelled()) {
                Toast.makeText(getApplicationContext(),"Login Canceled",Toast.LENGTH_SHORT).show();

            } else {

                Toast.makeText(getApplicationContext(),"Logged IN",Toast.LENGTH_SHORT).show();

            }

        }

    }

Но он всегда идет к отмене входа в систему. Согласно приведенной ниже ссылке https://developers.facebook.com/docs/reference/android/4.11/interface/AccountKitLoginResult/ AccountKitLoginResult больше не доступен, но все еще находится в обзоре, предлагая использовать то же самое.

У кого-нибудь такая же проблема?


person Mushahid Khatri    schedule 22.06.2017    source источник


Ответы (1)


AccountKitLoginResult действительно доступен, и это правильный способ получения данных. Я думаю, вы просто смотрели старую документацию. Вот текущий: https://developers.facebook.com/docs/reference/androidsdk/current/AccountKit/com/facebook/accountkit/accountkitloginresult.html/

Ваше приложение переходит непосредственно от экрана ввода номера телефона к экрану ошибки, не давая вам возможности ввести ключ подтверждения? Если это так, то onActivityResult не должен вызываться из-за системной ошибки. Вот несколько предложений относительно того, откуда могла взяться ошибка:

  1. Убедитесь, что в вашем AndroidManifest.xml есть набор метаданных для всех трех из: com.facebook.accountkit.ApplicationName, com.facebook.sdk.ApplicationId, com.facebook.accountkit.ClientToken
  2. Убедитесь, что значения этих метаданных на самом деле являются ключами @string / ..., а НЕ только прямым значением. Я сделал эту ошибку и в своем первом приложении accountkit, и мне потребовалось несколько попыток, чтобы понять это.
  3. Другая большая ошибка, которую я сделал в своем приложении, заключалась в том, что у меня были переключены идентификаторы приложения и имя приложения, и мне просто сообщалось, что «произошла системная ошибка», поэтому мне потребовалось время, чтобы понять, что я отправляю неправильные значения для этих
  4. Кроме того, просто проверьте, установлен ли у вас AccountKit на вкладке «продукты» в настройках вашего приложения, и правильный токен клиента передан в ваш манифест.

Если вы все еще не можете это исправить, возможно, вы могли бы опубликовать часть своего AndroidManifest и свой метод onLogin (где вы настроили AccountKitConfiguration), чтобы дать больше контекста.

person Pouya Larjani    schedule 26.06.2017