LinkedIn身份验证无法在Android中使用Fragment

Vin*_*k B 5 java authentication android linkedin

我正在创建一个拥有LinkedIn登录的应用程序.我正在关注文档.但是当我点击登录按钮时,应用程序会重定向到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);
Run Code Online (Sandbox Code Playgroud)

//

private static Scope buildScope() {
    return Scope.build(Scope.R_BASICPROFILE, Scope.R_EMAILADDRESS);
}
Run Code Online (Sandbox Code Playgroud)

和onActivityResult如下:

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

已经在LinkedIn开发者控制台上添加了哈希和包名称.我错过了什么吗?请帮忙

Vin*_*k B 5

结果发现onActivityResultLinkedIn sdk对父活动而不是片段进行了触发onActivityResult.因此,您必须将以下代码写入父Activity onActivityResult以触​​发片段onActivityResult.

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    yourFragment.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)