[英]logging in to facebook from my app works on emulator but not on device
這是我登錄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);
}
}
在模擬器上它完美無缺。 我已嘗試過已安裝facebook的第3批設備,這就是問題所在。
它只是在裝載時旋轉,它什么也沒做。 我再次看到登錄按鈕。 然后我嘗試從原始的facebook應用程序注銷,當我按下我的應用程序上的登錄按鈕時,我看到登錄窗口,但現在我曾經看到登錄模擬器但登錄原始facebook應用程序的登錄窗口。 就像是已經開始這一個。
我使用的代碼來自hackbook.java
平台狀態表明SSO存在問題。
只有在Android設備上安裝了facebook應用程序時才能使用SSO,並且您所描述的內容適合所有這些。 在模擬器上,您沒有facebook應用程序,因此當您的應用程序嘗試在其中記錄用戶時,使用它在sdk中的對話框,而不是使用fb應用程序附帶的SSO進程。
在設備上你怎么說你有fb應用程序,所以SSO開始,至少目前,它有一個問題。 嘗試卸載設備上的Facebook應用程序或者只是取消SSO,即: 如何禁用Facebook單點登錄為Android - Facebook-android-sdk
您需要生成系統的哈希鍵,並通過編輯現有的Facebook應用程序來放置它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.