facebook - webDialog "CURRENT GOALS" header ,但没有授权或取消按钮

标签 facebook authentication dialog

我是 Facebook SDK 新手。我使用 Facebook SDK 3.0.1 在我的 Android 应用程序中添加 Facebook 登录。用于登录的 Facebook webDialog 弹出窗口。今天我发现了一个与昨天不同的奇怪行为。

在webDialog中输入帐户名和密码并按登录按钮后,它最终在标题中显示“当前目标”,请求添加 friend ,输入位置等。正文显示“(YOUR_APP)想要访问您的公共(public)个人资料和 friend 列表”。但没有更多的按钮来授权或取消。从 Eclipse LogCat 中,Session.StatusCallback() 的当前 session 状态为 OPENING。因此,用户无法完成登录过程。

那么如何通过该对话框来成功完成登录过程呢?如果我按左上角的关闭按钮或后退按钮,对话框将关闭。 session 状态将变为 CLOSED_LOGIN_FAILED。

昨天,当同一个帐户登录时,webDalog终于显示“您已经授权(YOURAPP)”,并且存在取消和确定按钮。如果用户按“确定”,对话框将关闭,并且 Session.StatusCallback() 调用 session 状态变为“打开”。这样用户就成功完成了登录过程。

最佳答案

我刚刚找到并发布了一个解决方法:current goals hides facebook ok button during Facebook authorization in a web view

在 FaceBookSDK 中,我修改了 com/facebook/widget/WebDialog.java,以便一旦加载 Web 对话框,它就会查找包含“当前目标”的 block 并将其 Conceal (如果存在)。一旦你这样做了,按钮就会再次可见(至少对我来说是这样)。

在 com/facebook/widget/WebDialog.java 中:

private class DialogWebViewClient extends WebViewClient {

    // ... other methods ...

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if (!isDetached) {
            spinner.dismiss();
        }
        /*
         * Once web view is fully loaded, set the contentFrameLayout background to be transparent
         * and make visible the 'x' image.
         */
        contentFrameLayout.setBackgroundColor(Color.TRANSPARENT);
        webView.setVisibility(View.VISIBLE);
        crossImageView.setVisibility(View.VISIBLE);

        // I don't know how to highlight in the code block
        // So I just add this extra long comment to make it obvious
        // Add a javascript call to hide that element, if it exists
        webView.loadUrl("javascript:try{ document.getElementById('nux-missions-bar').style.display='none'; } catch (e) {}");
        // End changes           
    }

关于facebook - webDialog "CURRENT GOALS" header ,但没有授权或取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16559120/

相关文章:

php - CakePHP facebook注销 session 没有破坏

java - 具有自定义布局的 AlertDialog 未显示

winforms - 防止出现未处理异常的 "[YourProgramName] has stopped working"对话框

javascript - 尝试为 SharePoint 实现 CORS 时出现 401

asp.net - Chrome/Safari : jQuery works in . htm 但不在 .aspx 中

facebook - 按照 Heroku 教程,Foreman 在 Windows 上启动失败

facebook - 如何将用户添加到组

android - 如何解决 React Native 中的 AppRegistry.registerComponent 错误

javascript - 如何确定设备是否可以在 Javascript 中使用 Webauthn 指纹登录?

authentication - 是否可以在没有身份验证的情况下使用 Javamail 发送邮件?