安卓Facebook示例应用程序在安装了FB应用程序后无法登录

7
起初我以为是我的应用程序问题,但是我在使用任何FB示例应用程序时都会遇到完全相同的问题。
以HelloFacebookSample为例,它提供了一个登录按钮,登录后显示您的照片并允许您发布状态更新。
如果我的手机上没有安装FB应用程序,则登录按钮会给我提供一个Web视图,我可以通过该视图登录并在应用程序中查看照片并进行发布。然而,如果我的手机上安装了FB应用程序,则会弹出一个对话框,询问应用程序是否想要访问你的公共个人资料等。我点击“确定”后......什么也没有发生。
我发现有很多类似的问题,但通常问题是使用调试密钥而不是发布密钥,但我正在从Eclipse运行,因此调试密钥仍然适用。
有什么想法吗?
3个回答

7
如果您的手机上安装了默认的Facebook应用程序,或者您正在尝试在Google Play上上传自己的应用程序,那么您需要不同的KeyHash。因为,在开发FB应用程序时,您已经使用默认的debug.keystore创建了一个密钥哈希来注册FB应用程序。
因此,现在您需要一个不同的KeyStore来生成不同的KeyHash。您需要一个已签名的KeyStore,可以通过本教程来获取它。生成新的keystore后,生成密钥哈希并使用这个新的密钥哈希来注册您的FB应用程序。这应该可以解决问题。
要生成新的KeyHash,您可以参考此链接

1
啊,原来是这样。我用了我的发布密钥库。谢谢。 - Jake
@shoshi 我尝试使用我的应用程序密钥库文件并生成新的哈希密钥和应用程序密钥,但对我来说仍然无法工作。我想要在我的应用程序中使用已安装的FB应用程序登录进行登录。我总是发现session.isOpened() = false。你能帮帮我吗?我卡在这里了。我没有找到任何有用的方法/文章来解决这个问题。 - anddev
@shoshi 你可以在这里看到我的代码:http://stackoverflow.com/questions/17464648/how-to-get-default-facebook-app-login-session-in-to-our-application-in-android - anddev

1
我在上述情况下找到了以下一行有帮助的代码:
mLoginFacebook.setReadPermissions(Arrays.asList("email"));

它紧随其后:
mLoginFacebook = (LoginButton) rootView.findViewById(R.id.authButton);
mLoginFacebook.setFragment(this);

解决了我所有的问题... 干杯

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接