Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 从我的应用程序登录facebook可以在emulator上工作,但不能在设备上工作_Android_Facebook_Facebook Graph Api_Facebook Android Sdk - Fatal编程技术网

Android 从我的应用程序登录facebook可以在emulator上工作,但不能在设备上工作

Android 从我的应用程序登录facebook可以在emulator上工作,但不能在设备上工作,android,facebook,facebook-graph-api,facebook-android-sdk,Android,Facebook,Facebook Graph Api,Facebook Android Sdk,这是我登录facebook的代码 mLoginButton = (LoginButton) findViewById(R.id.login); // restore session if one exists SessionStore.restore(Utility.mFacebook, this); SessionEvents.addAuthListener(new FbAPIsAuthListener()); SessionE

这是我登录facebook的代码

mLoginButton = (LoginButton) findViewById(R.id.login);

        // restore session if one exists
        SessionStore.restore(Utility.mFacebook, this);
        SessionEvents.addAuthListener(new FbAPIsAuthListener());
        SessionEvents.addLogoutListener(new FbAPIsLogoutListener());

        /*
         * Source Tag: login_tag
         */
        mLoginButton.init(this, AUTHORIZE_ACTIVITY_RESULT_CODE, Utility.mFacebook, permissions);

        if (Utility.mFacebook.isSessionValid()) {
            requestUserData();
        }
 public class FbAPIsAuthListener implements AuthListener {

        //@Override
        public void onAuthSucceed() {
            requestUserData();
        }

        //@Override
        public void onAuthFail(String error) {
            mText.setText("Login Failed: " + error);
        }
    }

    /*
     * The Callback for notifying the application when log out starts and
     * finishes.
     */
    public class FbAPIsLogoutListener implements LogoutListener {
        //@Override
        public void onLogoutBegin() {
            mText.setText("Logging out...");
        }

        ///@Override
        public void onLogoutFinish() {
            mText.setText("You have logged out! ");
            mUserPic.setImageBitmap(null);
        }
    }
在模拟器上,它工作得非常完美。我已经在Ton3设备上试过了,这些设备已经安装了facebook,问题就出在这里

它只是在装载时旋转,什么也不做。我再次看到登录按钮。 然后我尝试从原始facebook应用程序注销,当按下应用程序上的登录按钮时,我看到了登录窗口,但现在我在登录emulator时看到的是登录窗口,而不是原始facebook应用程序的登录窗口。就像是他开始了这一次


我使用的代码取自hackbook.java

平台状态显示SSO存在问题

只有在android设备上安装了facebook应用程序时,SSO才会起作用,而您所描述的内容正好符合所有这些。 在emulator上,您没有facebook应用程序,因此当您的应用程序尝试让用户登录时,它会使用sdk中的对话框,而不是使用fb应用程序附带的SSO进程

在设备上,你曾说过你有fb应用程序,因此SSO起作用了,至少目前,它有一个问题。
尝试卸载设备上的facebook应用程序,或者干脆取消SSO,即:

您需要生成系统的哈希键,然后通过编辑现有facebook应用程序来放置它

您是否像在设备中一样在模拟器上安装了facebook应用程序?此外,正如在文章中所述,android sdk目前存在一些问题。你也可以尝试运行网络嗅探器来检查模拟器中没有安装的响应。如果我卸载它,它会运行,但问题是普通用户显然不会卸载原始facebook应用来安装我的,我只是建议确保你的问题是由于facebook的SSO问题。现在我们知道问题出在你身上,你无事可做,只能等到他们解决问题。使用其他API会带来风险。是否有针对此问题的特定解决方案或修复方案?