我在我的 Android 应用程序中使用 facebook sdk 4.0。
我有一个活动,其功能是向 facebook 发布一些消息(这不是我的应用程序的主要活动)
我正在执行以下操作来登录 Facebook,然后发布消息
FacebookSdk.sdkInitialize(this.getApplicationContext());
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//Login is successfull, now post the message.
}
});
问题是,如何从 LoginManager 取消注册此回调?我在 LoginManager 中没有找到任何方法来执行此操作。
sdk 的设计方式为何不提供注销选项?
问题是,如果我的活动被销毁并重新创建(例如,由于设备旋转),LoginManager 将始终引用我以前的活动实例,这是不正确的。
我想在活动的 onDestory 中注销。
Thanks,
LoginManager 不保存对回调的引用,而回调管理器则保存。只要您将回调管理器与活动保持 1-1,您的回调就会被垃圾收集良好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)