【问题标题】:Android Facebook sdk - post on wall dialog disappears immediatelyAndroid Facebook sdk - 墙上的帖子对话框立即消失
【发布时间】:2011-11-30 07:46:49
【问题描述】:

我正在使用 Facebook android SDK,通过向其中添加应用程序 ID 在模拟器中运行其提供的示例示例。

问题是我可以正常登录,但是当我点击“Wall Post”按钮时,Facebook webview 对话框打开类似于标题为“Post on Wall”的登录。此对话框会在几秒钟后立即消失。

可能是什么问题,我哪里出错了。

编辑 1: 其实是模拟器的问题。我已经在其他模拟器中对其进行了测试,它工作正常。但是现在在模拟器中成功发布墙后 FB webview 对话框被关闭并返回到应用程序但在设备中它没有。对话框停留在那里,显示带有成功帖子 ID 的空白屏幕

编辑 2: 我还注意到这个对话框消失问题出现在 v2.1(在模拟器上测试)。但它在 v2.2 及更高版本上运行良好(在模拟器和设备上测试)

【问题讨论】:

    标签: android facebook


    【解决方案1】:

    不是模拟器的问题。但这是一个问题,因为您已经在该模拟器中安装了本机 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);
    //        }
        }
    

    它会很好地解决您的问题。 如果没有,请告诉我。

    享受。

    :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-28
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      相关资源
      最近更新 更多