【发布时间】:2014-07-03 15:47:56
【问题描述】:
在我的一个应用程序中,我需要从 Facebook 获取数据...我正在这样做:
我已经创建了应用 ID。它登录成功,但是注销后,我登录,然后它给了我:
我做错了什么?我正在使用 Facebook SDK...我已经在我的手机上安装了 Facebook...它在模拟器中运行良好,但没有内置的 Facebook 应用程序已安装。
这是我的代码:
if (FB_APP_ID == null) {
Builder alertBuilder = new Builder(this);
alertBuilder.setTitle("Warning");
alertBuilder.setMessage("A Facebook Applicaton ID must be " +
"specified before running this example: see App.java");
alertBuilder.create().show();
}
// Initialize the dispatcher
Dispatcher dispatcher = new Dispatcher(this);
dispatcher.addHandler("login", LoginHandler.class);
dispatcher.addHandler("stream", StreamHandler.class);
dispatcher.addHandler("logout", LogoutHandler.class);
// If a session already exists, render the stream page
// immediately. Otherwise, render the login page.
Session session = Session.restore(this);
if (session != null) {
dispatcher.runHandler("stream");
}
else {
dispatcher.runHandler("login");
}
【问题讨论】:
-
但如果我在注销后登录,它第一次运行良好,它无法正常工作
-
是的,我有.. 使用 try { PackageInfo info = getPackageManager().getPackageInfo("com.facebook.samples.hellofacebook", PackageManager.GET_SIGNATURES); 创建for (签名签名: info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); }
-
我在这里解决了这个问题!这里明白了酷![stackoverflow.com/questions/5306009/…][1]
-
@Android 虽然这很旧,但我应该提一下。当用户注销然后登录时不会发生这种情况。当您第二次调试时会发生这种情况,即在调试时重新安装应用程序。因此,哈希值发生了变化。这不会发生在签名的应用程序(生产就绪)的情况下
-
如果您卸载 Facebook 应用程序,您会收到同样的错误吗?我在两部手机上进行了测试,只有在安装 Facebook 应用时才会出现此错误。