我已经在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"/>
有人面临这样的问题吗?
谢谢
1条答案
按热度按时间gkl3eglg1#
我不知道原因,但我通过将appcomat版本从1.5.1降级到1.3.0,将inmobi中介sdk版本从10.1.1.0降级到www.example.com来解决它10.0.7.0。
应用程序的最小SDK版本为19,目标SDK版本为30。