【发布时间】:2012-05-03 21:49:29
【问题描述】:
当使用 facebook android sdk 打开对话框时,一切正常。
但是,如果用户单击“后退”按钮,则对话框确实会关闭,但不会调用对话框侦听器的 onCancel 方法(或任何其他方法)。
我搜索了这件事,在github上发现了这个来自fb android sdk的pull request:Calls Cancel on DialogListener when Dialog is Cancelled。
我参加了一个部分并对其进行了一些修改以得到这个:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
mWebView.stopLoading();
dismiss();
mListener.onCancel();
return true;
}
return true;
}
我将它添加到 FbDialog 类中,确实这似乎可以解决问题。
我想知道为什么这不是 sdk 的一部分? 该拉取请求已有一年多的历史,最后一个响应大约有 11 个月的历史。 为什么不将其添加到 sdk 源中?
由于这个解决方案正在运行,它并不紧急,但我不喜欢修改 facebook sdk 的源代码,因为以后可能会出现问题(如果/当它们更新时)。
有什么想法吗?
【问题讨论】:
标签: facebook dialog back-button facebook-android-sdk