我正在使用Facebook android SDK,通过在其中添加app id在模拟器中运行其提供的示例示例。
问题是我可以正常登录但是当我点击“Wall Post”按钮时,Facebook webview对话框打开类似于登录标题为“Post on Wall”。几秒钟后,此对话框立即消失。
可能是什么问题,我哪里出错了。
编辑1: 它实际上是模拟器的问题。我在其他模拟器中测试过它的工作正常。但是现在在模拟器中,成功的墙贴后FB webview对话框关闭并返回到应用程序,但在设备中却没有。对话框保持显示空白屏幕,成功后标识
编辑2: 我也注意到这个对话框消失的问题是在v2.1(在模拟器上测试)。但它在v2.2及更高版本上运行良好(在模拟器和设备上测试)
答案 0 :(得分:0)
它不是模拟器的问题。但它是一个问题,因为你已经在该模拟器中安装了原生的facebookapp。
我遇到了同样的问题,现在我已经解决了。
您需要做的是:
转到facebook sdk项目。然后转到Facebook.java
现在,您将获得一种授权方法,如:
public void authorize(Activity activity, String[] permissions,
int activityCode, final DialogListener listener) {
boolean singleSignOnStarted = false;
mAuthDialogListener = listener;
THIS CODE IS EDITED BY SHREYASH FOR NOT ALLOW THE DEFAULT FACEBOOK APP
// Prefer single sign-on, where available.
if (activityCode >= 0) {
singleSignOnStarted = startSingleSignOn(activity, mAppId,
permissions, activityCode);
}
// Otherwise fall back to traditional dialog.
if (!singleSignOnStarted) {
startDialogAuth(activity, permissions);
}
}
只需将以上内容替换为以下内容:
public void authorize(Activity activity, String[] permissions,
int activityCode, final DialogListener listener) {
boolean singleSignOnStarted = false;
mAuthDialogListener = listener;
// THIS CODE IS EDITED FOR NOT ALLOW THE DEFAULT FACEBOOK APP
// // Prefer single sign-on, where available.
// if (activityCode >= 0) {
// singleSignOnStarted = startSingleSignOn(activity, mAppId,
// permissions, activityCode);
// }
// // Otherwise fall back to traditional dialog.
// if (!singleSignOnStarted) {
startDialogAuth(activity, permissions);
// }
}
它将彻底解决您的问题。 如果没有,请告诉我。
享受。
:)