- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我关注了Facebook login for Android将 FB 集成到我的 Android 应用程序中。完成了。我看到权限屏幕,用户必须在其中接受使用他的电子邮件 ID。问题是没有调用 FacebookCallback 的回调。
我遵循了上述教程中提到的相同步骤。
fragment 代码:
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(this.getActivity().getApplicationContext());
super.onCreate(savedInstanceState);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
mButtonFbLogin.setReadPermissions(Arrays.asList("email"));
mButtonFbLogin.setFragment(this);
mCallbackManager = CallbackManager.Factory.create();
mButtonFbLogin.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "FB Login Successful. Token : " +loginResult.getAccessToken());
}
@Override
public void onCancel() {
Log.d(TAG, "FB Login cancelled..");
}
@Override
public void onError(FacebookException e) {
Log.d(TAG, "FB Login failed. Exception : " +e.toString());
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult of Fragment..");
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
}
mCallbackManager.onActivityResult(requestCode, resultCode, data);
。我的 Activity 的 onActivityResult() 首先从我调用 fragment 的 onActivityResult() 的地方调用。 通过日志,我看到我的 fragment 的 onActivityResult
被调用,callbackManger 的 onActivityResult()
也被调用。但是没有调用 Facebook Callback 的回调。
有什么线索吗?
AccessToken.getCurrentAccessToken()
是一种可以在onCreate()
中使用的方法。但是有了这个我不能确切地知道第一次创建 token 的时间。
而AccessTokenTracker
实际上是跟踪 token 的变化,但不知道登录 session 何时成功、失败或取消。
更新:
我刚刚尝试使用 AccessTokenTracker,但是在我在权限屏幕上按下“确定”并且控制权返回到我的 fragment 后,没有调用 onCurrentAccessTokenChanged()。这是代码:
@覆盖public void onCreate(Bundle savedInstanceState) { FacebookSdk.sdkInitialize(this.getActivity().getApplicationContext());
mAccessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
Log.d(TAG, "onCurrentAccessTokenChanged : old : " +oldAccessToken);
Log.d(TAG, "onCurrentAccessTokenChanged : new : " +currentAccessToken);
}
};
mAccessTokenTracker.startTracking();
super.onCreate(savedInstanceState);
最佳答案
我有 MainActivity,它包含生成 CChildFragment 的 MainFragment。 ChildFragment 是添加 LoginButton 的地方。
MainActivity -> MainFragment -> ChildFragment(登录按钮)。
我在 MainActivity 和 ChildFragment 中也有 onActivityResult() 。在 MainActivity 的 onActivityResult() 中,我显式调用了 childFragment.onActivityResult(),其中我调用了 CallbackManager.onActivityResult()。我在 ChildFragment 中做了 setFragment(this)。一切正常,但没有调用 FacebookCallback 中的任何回调。
我尝试了多种解决方案并调试了 Facebook 代码,发现他们使用的 requestCode 作为索引来存储我们发送的回调。此代码在存储回调和检索回调时是不同的。所以什么也没发生。
作为 debuggin 的一部分,我将完整的代码移到了 MainFragment 中,它可以正常工作。 :-)
因此,解决方案 是覆盖 MainFragment 中的 onActivityResult() 并从那里调用 ChildFragment 的 onActivityResult()。有效。
因此,结论是,如果您将 LoginButton 放在子 fragment/嵌套 fragment 中,Facebook sdk 将调用父 fragment 的 onActivityResult 而不是子 fragment 或 Activity 的 onActivityResult()。
关于android - 无法获取适用于 Android 的 Facebook SDK 4.8.1 的访问 token (或)未调用 FacebookCallback(或)requestCode 在 Facebook 集成中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34594971/
您好,我正在尝试实现 Facebook 登录和获取好友列表。我正在将我 friend 的姓名和个人资料图片网址存储到 ArrayList 中TaggedFriends 类将在何处设置和获取方法。 我现
我尝试使用 LoginButton 登录,但未调用登录回调。(LoginButton 在 fragment 中)。 FacebookSdk.sdkInitialize 在应用程序 onCreate 中
我正在通过 facebook 实现登录并使用 SDK 4.1.0 获取用户电子邮件 ID,如 facebook documentation 所示。但出现的问题是,每次在 onActivityResul
我有一个 Android 应用程序,我正在尝试使用 Facebook 的 SDK(版本 4.1.0)获取 token 并登录。这是我的代码: public class LoginActivity ex
在我的项目中,可以使用 ShareDialog 和 SharePhotoContent 将照片发布到 Facebook,如 Facebook docs 所示。 .我需要知道发布是否成功,但 Faceb
我正在尝试在我正在开发的应用程序中实现 Facebook 登录。但我一直收到 NullPointerException,我不太清楚为什么。 具有实现的类: public class FacebookL
我已经在 android 应用程序中成功实现了使用 facebook 登录。但是现在,令人惊讶的是,当我使用 facebook 登录时,如果我尝试使用 facebook 库 4.2.0 登录 face
我关注了Facebook login for Android将 FB 集成到我的 Android 应用程序中。完成了。我看到权限屏幕,用户必须在其中接受使用他的电子邮件 ID。问题是没有调用 Face
我是一名优秀的程序员,十分优秀!