当使用facebook android sdk打开对话框时,它一切正常。Facebook对话框和后退按钮
但是,如果用户单击后退按钮,则对话框确实会关闭,但不会调用对话监听器(或任何其他方法)的方法。
我搜索了这个问题,发现这个从fb android sdk在github上的请求: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.FORCE_DIALOG_AUTH'?为了更好的用户体验,使用'SSO'是首选。 – 2012-06-19 22:14:15
如果我没有记错的话,主要原因是非SSO使用更好的弹出对话框来显示身份验证面板,而SSO面板从右侧滑入(并在用户完成后返回到右侧)。似乎没有办法改变这个用户界面,至少在不直接破解SDK代码的情况下。 – repto 2012-06-25 16:55:01
其他原因是应用程序要求之一是不使用已安装的Facebook客户端。 – repto 2012-06-25 17:08:45