简体   繁体   English

使用 Facebook 最新的 sdk 登录,如果安装本机应用程序,则在 android 中未打开对话框

[英]Login with Facebook latest sdk if native app install then dialog not open in android

I am using latest Facebook-sdk for Login with Facebook我正在使用最新的 Facebook-sdk登录 Facebook

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

Try to login with facebook using custom button I am also getting this error in Facebook-android-sdk github issue https://github.com/facebook/facebook-android-sdk/issues/580 this issue resolved or not.尝试使用custom button登录 facebook 我也在Facebook-android-sdk github 问题https/github-issue.com/ facebook/facebook/facebook-android-sdk 中收到此错误

I want to open dialog if Facebook native app install, for that first I logout using LoginManager.getInstance().logOut()如果安装了 Facebook 本机应用程序,我想打开对话框,首先我使用LoginManager.getInstance().logOut() logout

I use default login manager like LoginManager.getInstance() , then login and logout, but when i check token after logout like this AccessToken.getCurrentAccessToken() it still exists我使用像LoginManager.getInstance()这样的默认登录管理器,然后登录和注销,但是当我像这样AccessToken.getCurrentAccessToken()注销后检查令牌时它仍然存在

Below are my code:以下是我的代码:

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 file 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" />

Finally, I found solution after lots of research and read many answers.最后,经过大量研究并阅读了许多答案,我找到了解决方案

If your app in development mode then generate Development Key Hash如果您的应用程序处于开发模式,则生成开发密钥 Hash

For Windows use following command:对于 Windows使用以下命令:

  • Download openSSl fromopenssl-for-windows openssl library and Extract it.openssl-for-windows openssl 库下载 openSSl 并解压。
  • Create a folder- OpenSSL in C:/ and copy the extracted code there.在 C:/ 中创建一个文件夹 OpenSSL:/ 并将提取的代码复制到那里。
  • To generate a development key hash, run the following command in a command prompt in the Java SDK folder要生成开发密钥 hash,请在Java SDK 文件夹中的命令提示符下运行以下命令
  • Change USERNAME with your username用您的用户名更改 USERNAME
  • This command will generate a 28-character key hash unique to your development environment.此命令将生成一个 28 个字符的密钥 hash 对您的开发环境来说是唯一的。 Copy and paste it into the field of Facebook developer site复制粘贴到Facebook开发者网站的字段中

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


If your app in Release mode then Generate a Release Key Hash如果您的应用程序处于发布模式,则生成发布密钥 Hash

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

Hope this save your time...希望这可以节省您的时间...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 没有本地应用程序或对话框的Android Facebook登录 - Android Facebook login without native app or dialog Facebook Android SDK登录对话框 - Facebook android sdk login dialog 适用于Android的Facebook SDK 3-使用facebook应用程序登录 - Facebook SDK 3 for Android - Login using facebook app 在最新的SDK 4.0中,在Android本机应用程序中的Facebook上与预填充文本共享图像 - Share Image with Pre populated text on facebook in Android native app in latest SDK 4.0 later 两次更改方向打开Facebook共享对话框-Android Facebook SDK - Changing orientation open Facebook share dialog twice - Android Facebook sdk 在Android中通过Facebook SDK实现登录的最新方法 - The latest method to implement login through facebook sdk in android 如果安装了 Native Facebook 应用,则无法使用 SDK 登录 Facebook - Can't login to Facebook using SDK if Native Facebook app is installed 如果在移动设备上安装了Facebook应用程序,为什么无法打开Facebook登录对话框 - Why Facebook Login Dialog not open if facebook app is installed on mobile Facebook手动登录流程,如果已安装,则在应用程序中打开登录对话框 - Facebook manual login flow, open login dialog in app if installed 实现Facebook(SDK 4.0.1)登录的Android应用 - Android App that implements Facebook (SDK 4.0.1) Login
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM