0

我正在 Android 上开发,我使用的是 Facebook SDK 3.0.2 版。

当存在 Facebook 应用程序时,它通过 Facebook 应用程序登录,当不存在 Facebook 应用程序时,会弹出网络对话框并询问用户名和密码。所以这是一个没有安装 Facebook 应用程序并且出现网络对话框的情况。

public static String[] PERMISSIONS_READ = new String[] { "read_stream"};
public static String[] PERMISSIONS_WRITE = new String[] { "publish_stream"};

Session.OpenRequest openRequest = null;
            openRequest = new Session.OpenRequest(activity);
            if (openRequest != null) {
                openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
                openRequest.setPermissions(Arrays.asList(PERMISSIONS_READ));
                openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
                session.openForRead(openRequest);
            }

session.openForRead() 打开一个 Web 对话框,询问用户名和密码。由于只授予读取权限,我调用另一个发布权限请求:

Session session = Session.getActiveSession();
            Session.OpenRequest openRequest = null;
            openRequest = new Session.OpenRequest(activity);
            if(session != null) {
                Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(activity, Arrays.asList(PERMISSIONS_WRITE));
                session.requestNewPublishPermissions(newPermissionsRequest);
        }

session.requestNewPublishPermissions() 会弹出另一个 Webview 对话框,询问用户名和密码。

所以最后,用户输入了两次相同的用户名和密码!我们可以避免第二个 webview 对话框要求相同的用户名和密码吗?

4

1 回答 1

1

Answering my own question. Facebook-sdk version 3.5 solved the problem.

于 2013-09-04T23:04:55.590 回答