我正在使用 Facebook android SDK,通过向其中添加应用程序 ID 在模拟器中运行其提供的示例示例。
问题是我能够正确登录,但是当我单击“Wall Post”按钮时,Facebook webview 对话框打开类似于标题为“Post on Wall”的登录。此对话框会在几秒钟后立即消失。
可能是什么问题,我哪里出错了。
编辑 1: 其实是模拟器的问题。我已经在其他模拟器上测试过它工作正常。但是现在在模拟器中成功后墙贴 FB webview 对话框关闭并返回到应用程序但在设备中它没有。对话框停留在那里显示空白屏幕和成功的帖子 ID
编辑 2: 我还注意到 v2.1(已在模拟器上测试)出现了此对话框消失问题。但它在 v2.2 及更高版本上运行良好(在模拟器和设备上测试)
最佳答案
这不是模拟器的问题。但这是一个问题,因为您已经在该模拟器中安装了 native 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);
// }
}
它一定会解决您的问题。 如果没有,请告诉我。
享受吧。
:)
关于Android Facebook sdk - 贴在墙上的对话框立即消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322639/