我正在创建一个具有 LinkedIn 登录名的应用程序。我正在关注 this文档。但是当我点击登录按钮时,应用程序重定向到 LinkedIn 应用程序并要求登录。成功登录后,它会重定向到我的应用程序。但是没有任何反应。 onActivityResult
也没有任何反应。
下面是我的代码。在 fragment 上实现登录
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 开发人员控制台上添加哈希和包名称。我错过了什么吗?请帮忙
最佳答案
发现LinkedIn sdk的onActivityResult
是在父activity上触发的,而不是 fragment onActivityResult
。因此,您必须将以下代码写入父 Activity 的 onActivityResult
以触发 fragment 的 onActivityResult
。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
yourFragment.onActivityResult(requestCode, resultCode, data);
}
关于java - LinkedIn 身份验证不适用于 android 中的 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061232/