你好,我的一个应用程序,我需要获取fb的数据......我正在这样做..
我已经创建了它成功登录的应用程序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"); …Run Code Online (Sandbox Code Playgroud) 我想在Google Play上发布我的应用.我的应用程序中有Facebook登录.直到昨天一切正常,直到我运行应用程序时debug.keystore.但是,当我使用自己的发布密钥并签署我的应用程序Facebook没有登录时,我似乎无法弄清楚原因.
按照这个链接,并做了所有这些方法:所以:key-hash-for-android-facebook-app
我改变了机器,我改变了平台(windows和mac osx ML)以获得解决方案,但同样的问题.它没有登录.当我使用debug.keystore时,下面的代码给了我正确的哈希键,当我使用不同的密钥签署应用程序时,我得到相同的Hashkey(我在得到很多试验之后得出结论,我得到的密钥是错的)
PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
//String something = new String(Base64.encodeBytes(md.digest()));
Log.e("hash key", something);
}
} catch (NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
Run Code Online (Sandbox Code Playgroud)
因此,在使用发布密钥对应用程序进行签名时,我们需要采取哪些额外步骤.请帮忙.