我已经在 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);
}
});
点击事件的完成如下:
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"/>
有人面临这样的问题吗?
Thanks