Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SDK 3.0的Facebook授权问题_Android_Facebook_Facebook Android Sdk - Fatal编程技术网

Android SDK 3.0的Facebook授权问题

Android SDK 3.0的Facebook授权问题,android,facebook,facebook-android-sdk,Android,Facebook,Facebook Android Sdk,我有一个应用程序为我的大学,在那里我集成了Facebook SDK,以便学生可以张贴在Facebook上 最近,由于Facebook发布了新的SDK,我决定进行更多的测试。我发现,在Facebook Sdk出现自定义对话框并向用户提供有关所需权限的信息后,什么也没有发生 这促使我更深入地研究这个问题。我打开了一个模拟器并检查了它,在一些错误和几分钟后,我设法使SSO工作。同样的代码也应该在我的设备上工作,但是上面描述的问题再次发生了 虽然我运气不好。然后我想到从我的手机上删除Facebook应用

我有一个应用程序为我的大学,在那里我集成了Facebook SDK,以便学生可以张贴在Facebook上

最近,由于Facebook发布了新的SDK,我决定进行更多的测试。我发现,在Facebook Sdk出现自定义对话框并向用户提供有关所需权限的信息后,什么也没有发生

这促使我更深入地研究这个问题。我打开了一个模拟器并检查了它,在一些错误和几分钟后,我设法使SSO工作。同样的代码也应该在我的设备上工作,但是上面描述的问题再次发生了

虽然我运气不好。然后我想到从我的手机上删除Facebook应用程序,然后再次尝试我的应用程序。SSO与这次的模拟器一样工作正常

所以我在搜索后遇到了一个问题和一个结果。我完全确定安装Facebook应用程序时的授权和我的应用程序之间存在问题,但我找不到什么

如果有其他人也遇到过同样的问题,请分享你的想法,如果有人知道任何解决方案,我将不胜感激

注:谷歌根本帮不了我。你是我最后的机会

我与Facebook的联系方式:

Session session = Session.openActiveSession(act, true,
            new StatusCallback() {
                public void call(final Session session, SessionState state,
                        Exception exception) {
                    if (session.isOpened()) {
                        Log.d("Session is:", " opened");
                        Request.executeMeRequestAsync(session,
                                new Request.GraphUserCallback() {
                                    public void onCompleted(GraphUser user,
                                            Response response) {
                                        if (user != null) {
//my code goes here                                         

                                        }
                                    }
                                });
                    }
                }
            });
更新


我最终通过更新keyhash解决了这个问题。不知道为什么会出问题,但现在它工作正常

仅供参考,使用以下代码查找实际的密钥哈希:

PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.myname.lolo", 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());
}

您可以在以后删除此代码。所有这方面的积分:

调试和发布(设备)是不同的。u shud在您的fb仪表板中包含这两个键。您能再解释一下您的评论吗?在emulator和真实设备上测试的键哈希是不同的。一个不为另一个工作。你需要生成2个密钥哈希,每个密钥哈希一个,并将其更新到同一应用程序下的FB dashboard问题是它不起作用…我在模拟器上试过,效果很好,然后在我的设备上试过,也很好,在那之后,我在我兄弟和表弟的设备上试用了它,但没有运气…所以我想知道这是否真的是一个bug…有什么想法吗?