小编Oma*_*aha的帖子

当 facebook 应用程序未安装问题时,在 Android 中使用 facebook sdk 登录

我已经在 Android 应用程序中实现了通过 facebook 登录,当我的设备上安装了 facebook 应用程序时,它工作正常。卸载应用程序后,当通过 facebook 登录时,它显示 facebook 登录屏幕,授予应用程序权限后,它会将我重定向到我的登录屏幕,但 onActivityResult 未被调用,并且我无法单击中的任何按钮屏幕。当我点击后退按钮时,透明屏幕关闭,并以意图 null 调用 onActicityResult 。

在我的 gradle 文件中,我使用的是最新的 facebook 版本

implementation 'com.facebook.android:facebook-android-sdk:12.0.0

这是我在活动中使用的代码:

 mCallbackManager = CallbackManager.Factory.create();
 
LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                performFBLogin(loginResult);
            }

            @Override
            public void onCancel() {
                showErrorMessage(getResources().getString(R.string.facebook_login_canceled), true);
            }

            @Override
            public void onError(@NonNull FacebookException exception) {
                showErrorMessage(exception.getLocalizedMessage(), true);
            }
        });
Run Code Online (Sandbox Code Playgroud)

点击事件的完成如下:

        LoginManager.getInstance().logInWithReadPermissions(this, mCallbackManager, Arrays.asList("public_profile", "email"));

Run Code Online (Sandbox Code Playgroud)

我的清单文件如下所示:

  <activity
            android:name="com.facebook.CustomTabMainActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name" />
        <activity
            android:name="com.facebook.CustomTabActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" /> …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-login android-studio

5
推荐指数
1
解决办法
1437
查看次数

标签 统计

android-studio ×1

facebook ×1

facebook-login ×1