如果使用FaceBook Lite,登录Facebook会使应用程序崩溃

10 android facebook facebook-login android-facebook

在我的应用程序中,我使用facebook SDK来执行登录和注册方法.

当我使用普通的FaceBook应用程序或在我的设备上使用普通的网络浏览器时,这没关系.

但是当我在我的设备上安装FaceBook Lite并且我没有通用的FaceBook应用程序时,当我尝试使用facebook-sdk登录/注册时,应用程序关闭时没有任何日志/消息,所以我不知道为什么这个问题发生了.

我该如何解决这个问题?- 我可以跳过FaceBook Lite应用程序并使用浏览器吗?

更新:

这是一个视频,如果我有正常的Facebook应用程序,没有问题.

这是一个视频,如果我在我的设备上有脸书app lite,这会使它崩溃.

我的代码片段:

LoginManager.getInstance()
                    .logInWithReadPermissions(getActivity(), Arrays.asList("public_profile"));

            LoginManager.getInstance()
                    .registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                        @Override
                        public void onSuccess(final LoginResult loginResult) {
                            Log.i("MainActivity", "@@@onSuccess");
                            GraphRequest request = GraphRequest
                                    .newMeRequest(loginResult.getAccessToken(),
                                            (object, response) -> {
                                                Log.i("MainActivity",
                                                        "@@@response: " + response.toString());

                                                try {

                                                    ///
                                                } catch (JSONException e) {
                                                    ////

                                                }
                                            });

                        }

                        @Override
                        public void onCancel() {
                            Log.i("MainActivity", "@@@onCancel");
                        }

                        @Override
                        public void onError(FacebookException error) {
                            Log.i("MainActivity", "@@@onError: " + error.getMessage());
                        }

                    });
Run Code Online (Sandbox Code Playgroud)

Tpo*_*6oH 5

你知道FB的座右铭 - 快速行动并打破局面.SDK与本机应用程序的集成是有时会破坏的事情之一.

您可以强制Facebook SDK使用Web进行登录:

LoginManager.getInstance().setLoginBehavior(LoginBehavior.WEB_ONLY)
Run Code Online (Sandbox Code Playgroud)


小智 1

好吧,我在某些LOLIPOP设备中发现连线行为,应用程序甚至在打开Facebook本机应用程序之前就关闭了,而在其他设备中,应用程序仅使用 facebook lite 关闭,但是。

我正在noHistory=true活动上使用属性,因此一旦由于调用而出现对话框,活动就会从堆栈中删除onStop()

<activity
        android:name=".AuthActivity"
        android:screenOrientation="portrait"
        android:noHistory="true"
        android:windowSoftInputMode="stateHidden" />
Run Code Online (Sandbox Code Playgroud)

删除该属性后,现在效果很好!