Войдите в систему с помощью последней версии sdk Facebook, если установлено собственное приложение, тогда диалоговое окно не открывается в android - PullRequest
3 голосов
/ 26 мая 2020

Я использую последнюю версию Facebook-sdk для входа в систему через Facebook

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

Попробуйте войти в систему с помощью facebook, используя custom button Я также получаю эту ошибку в Facebook-android-sdk выпуске github https://github.com/facebook/facebook-android-sdk/issues/580 решена эта проблема или нет.

Я хочу открыть диалоговое окно, если установлено собственное приложение Facebook, для этого сначала я logout использую LoginManager.getInstance().logOut()

Я использую диспетчер входа по умолчанию, например LoginManager.getInstance(), затем вход и выход, но когда я проверяю токен после выхода из системы, например, AccessToken.getCurrentAccessToken(), он все еще существует

Ниже мой код:

callbackManager =
    CallbackManager.Factory.create()

    LoginManager.getInstance().logOut()
loginManager = LoginManager.getInstance()

LoginManager.getInstance()
    .registerCallback(callbackManager, object : FacebookCallback<LoginResult> {
        override fun onSuccess(loginResult: LoginResult) {
            val graphRequest = GraphRequest.newMeRequest(loginResult.accessToken)
            { jsonObj, _ ->

            }
            val parameters = Bundle()
            parameters.putString("fields", "id,name,email")
            graphRequest.parameters = parameters
            graphRequest.executeAsync()
        }

        override fun onCancel() {
        }

        override fun onError(error: FacebookException) {
            var msg = ""

        }
    })
loginManager.logInWithReadPermissions(
    this@SignUpActivity,
    listOf("email", "public_profile")
)

Manifest файл

<meta-data android:name="com.facebook.sdk.ApplicationId"
    android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges=
        "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name" />

1 Ответ

0 голосов
/ 09 июня 2020

Наконец, Я нашел решение после большого количества исследований и прочитал множество ответов.

Если ваше приложение находится в режиме разработки , тогда сгенерируйте Ключ разработки Ha sh

Для Windows используйте следующую команду:

  • Загрузите openSSl из openssl-for- windows библиотеку openssl и извлеките ее.
  • Создайте папку - OpenSSL в C: / и скопируйте извлеченный код туда.
  • Для создания разработки ключа ha sh, выполните следующую команду в командной строке в папке Java SDK
  • Измените ИМЯ ПОЛЬЗОВАТЕЛЯ на свое имя пользователя
  • Эта команда сгенерирует 28-значный ключ ha sh уникально для вашей среды разработки. Скопируйте и вставьте его в поле на сайте разработчика Facebook

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary | "C:\OpenSSL\bin\openssl" base64

Если ваше приложение находится в режиме Release , тогда сгенерируйте Release Key Ha sh

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

Надеюсь, это сэкономит ваше время ...

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