我使用的是Facebook android SDK,在模拟器中通过添加app id来运行它提供的示例。
问题是我可以正确登录,但当我点击“墙壁帖子”按钮时,Facebook webview对话框打开,类似于标题为"Post on Wall“的登录。此对话框在几秒钟后立即消失。
可能的问题是什么,我哪里错了。
编辑1:这实际上是仿真器的问题。我已经在其他仿真器中测试过了,它工作正常。但是现在在模拟器中,在成功发布后,FB webview对话框关闭并返回到应用程序,但在设备中它不会。对话框停留在那里显示空白屏幕与成功发布id
编辑2:我也注意到这个对话框消失的问题在v2.1(在模拟器上测试)。但它在v2.2和更高版本上运行良好(在模拟器和设备上测试)
发布于 2012-05-11 21:27:32
这不是Emulator的问题。但这是一个问题,因为你已经在模拟器中安装了本地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);
// }
}它会粗暴地解决你的问题。如果没有,请让我知道。
好好享受吧。
:)
https://stackoverflow.com/questions/8322639
复制相似问题