LinkedIn 身份验证不适用于 android 中的 Fragment

LinkedIn Authentication not working on Fragment in android

我正在创建一个具有 LinkedIn 登录名的应用程序。我正在关注 this 文档。但是当我点击登录按钮时,应用程序重定向到 LinkedIn 应用程序并要求登录。成功登录后,它会重定向到我的应用程序。但是没有任何反应。 onActivityResult 也没有任何反应。 下面是我的代码。在片段

上实现的登录
 LISessionManager.getInstance(getActivity()).init(getActivity(), buildScope(), new AuthListener() {
            @Override
            public void onAuthSuccess() {
                getLinkedInProfile();
                Toast.makeText(getApplicationContext(), "success" , Toast.LENGTH_LONG).show();
            }
            @Override
            public void onAuthError(LIAuthError error) {
                Toast.makeText(getApplicationContext(), "failed " + error.toString(), Toast.LENGTH_LONG).show();
            }
        }, true);

//

private static Scope buildScope() {
    return Scope.build(Scope.R_BASICPROFILE, Scope.R_EMAILADDRESS);
}

和onActivityResult如下:

     @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        LISessionManager.getInstance(getActivity()).onActivityResult(getActivity(), requestCode, resultCode, data);
}

已在 LinkedIn 开发人员控制台上添加哈希和包名称。我错过了什么吗?请帮助

尝试Log确认函数是否被调用

发现 onActivityResult for LinkedIn sdk 在父 activity 而不是片段 onActivityResult 上触发。因此,您必须将以下代码写入您的父 Activity 的 onActivityResult 以触发片段的 onActivityResult.

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