Android 没有 Facebook 应用程序的 Facebook SDK 4 登录不起作用

Android Facebook SDK 4 login without Facebook app doesn't work

我的应用程序使用 Facebook SDK 4.8.1,当 phone 上没有 Facebook 应用程序时出现登录问题(安装 fb 应用程序后一切正常)。
情况是:
- 调用 logInWithReadPermissions()
- activity 已停止(应该是?)
- 显示登录表单
- 您登录,同意权限
- 视图消失,应用程序关闭,永远不会调用 onActivityResult()。

我不知道它是否相关,但我收到此警告:

 W/ActivityManager: Activity pause timeout for ActivityRecord{3de9bff8 u0 app.app.app/.activities.FbLoginActivity t18}

我读过 and ,试过例子...还是一样。

public class FbLoginActivity extends BaseActivity {

CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    FacebookSdk.sdkInitialize(getApplicationContext());

    setContentView(R.layout.activity_fb_login);

    callbackManager = CallbackManager.Factory.create();


    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {

                  Log.i("fb","success");

                }

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

                @Override
                public void onError(FacebookException exception) {
                    Log.i("fb","stopped");
                }
            });


    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));
}

   @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      callbackManager.onActivityResult(requestCode, resultCode, data);
   }
}

尝试将 FB 登录 Activity 作为应用程序清单文件中的启动器 activity

问题出在清单文件中:

<activity
    android:noHistory="true"
    android:screenOrientation="portrait"
    android:name=".activities.FbLoginActivity">
</activity>

删除 android:noHistory="true" 解决了问题。