Как исправить «Фоновое приложение, чтобы получить код от Code Generator отклоняет веб-просмотр входа в систему» ​​в Facebook входа? - PullRequest
0 голосов
/ 07 февраля 2019

Если мы используем поведение по умолчанию для входа в систему с помощью maven SDK в Android, это указывает, что при входе в систему следует попытаться войти в систему с помощью приложения Facebook, и если это не сработает, вернитесь к веб-диалогу авторизации.Если приложение facebook отсутствует, веб-диалог авторизации показывает неожиданный ответ, когда приложение отправляется в фоновый режим, когда оно отображается.Аутентификация веб-диалога скрывается при возобновлении работы приложения.Эта функция вызывает проблемы, когда вход выполняется с использованием двухфакторной аутентификации.

Изменение LoginBehaviour на LoginBehavior WEB_VIEW_ONLY показывает диалоговое окно, которое не показывает это поведение и, следовательно, решает проблему. Но это не рекомендуется Facebook и т. Д.мой идентификатор приложения был деактивирован Facebook.

  fb_login_button=findViewById(R.id.fb_login_button);

        fb_login_button.setReadPermissions(Arrays.asList(
                "public_profile","email"));
        callbackManager = CallbackManager.Factory.create();

        fb_login_button.registerCallback(callbackManager,new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {


                GraphRequest request = GraphRequest.newMeRequest(
                        loginResult.getAccessToken(),
                        new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(JSONObject object, GraphResponse response) {
                                Log.d("_completed","Login Successful");
                            }
                        });
                Bundle parameters = new Bundle();
//              parameters.putString("fields", "id,first_name,middle_name,last_name,name,email,gender,picture.type(large)");
                parameters.putString("fields", "id,first_name,middle_name,last_name,name,email,gender,picture.width(500).height(500)");
                request.setParameters(parameters);
                request.executeAsync();


            }

            @Override
            public void onCancel() {
                Log.e("_error","Face->"+"cancelled");
            }

            @Override
            public void onError(FacebookException error) {
                Log.e("_error","Face->"+error);
            }

        });
    }

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

 implementation 'com.facebook.android:facebook-login:[4,5)'

У кого-нибудь есть идеи, как решить эту проблему?Вся помощь оценена.

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