Android Studio 在Android中使用Facebook SDK登录时未安装Facebook应用程序的问题

oiopk7p5  于 2022-11-25  发布在  Android
关注(0)|答案(1)|浏览(229)

我已经在Android应用程序中实现了通过Facebook登录,当Facebook应用程序安装在我的设备上时,它工作正常。卸载应用程序后,当点击通过Facebook登录时,它显示Facebook登录屏幕,授予应用程序权限后,它将我重定向到我的登录屏幕,但未调用onActivityResult,我无法点击屏幕中的任何按钮。当我点击后退按钮时,关闭透明屏幕,并使用intent 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);
            }
        });

单击事件的完成方式如下:

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

清单文件如下所示:

<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" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="@string/fb_login_protocol_scheme" />
            </intent-filter>
        </activity>

  <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" /> 
        <!-- [Facebook] -->
        <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>

有人面临这样的问题吗?
谢谢

gkl3eglg

gkl3eglg1#

我不知道原因,但我通过将appcomat版本从1.5.1降级到1.3.0,将inmobi中介sdk版本从10.1.1.0降级到www.example.com来解决它10.0.7.0。

implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.ads.mediation:inmobi:10.0.7.0'

应用程序的最小SDK版本为19,目标SDK版本为30。

相关问题