[英]Issue with Facebook sdk login in android
ImageView connect = (ImageView) findViewById(R.id.fconnect);
connect.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
facebook.authorize(SignIn.this, new String[] {"offline_access", "email", "read_friendlists","publish_stream" },new DialogListener() {
@Override
public void onComplete(Bundle values) {
String AccessToken = facebook.getAccessToken();
LoginDirect = "Loading Home....";
LoginProcessChkUserStatus();
}
@Override
public void onFacebookError(FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
}else{
progress = true;
LoginProcessChkUserStatus();
}
}
});
這是facebook api ....我用於在我的應用程序中加載...這工作正常...當我單擊登錄按鈕...授權后進入完整階段...現在問題來了我手機中的 Facebook.apk 單獨取自 Facebook SDK....視圖變成了這個....當我點擊登錄按鈕時它永遠不會執行上面的代碼...
當我將 facebook 與我的應用程序集成時,我也遇到了一些類似的問題。 當我在我的應用程序中單擊 facebook 圖標時,本機 facebook 應用程序啟動,當我卸載本機 facebook 應用程序時,所有應用程序都正常工作。 我想出了通過以下方法解決此問題的方法,並將其發布在 stackoverflow 的以下鏈接上: “使用 Facebook 的 android sdk 進行身份驗證時發生錯誤” 。 實際上我的問題是,當我使用調試密鑰時,我輸入的密鑰 Hash 值在 facebook 應用程序寄存器中是錯誤的。 當我根據我在上面的鏈接中發布的內容更正密鑰 hash 時,我的問題得到了解決。 請也試試這個。
換屏是正常的。 如果您安裝了 Facebook 應用程序,則 SDK 使用它來登錄。如果沒有,它使用 WebView 進行身份驗證(如您的第一個屏幕截圖所示)。
為什么這不起作用? Facebook 應用程序使用來自 Android 活動機制的結果代碼。 我在您的代碼中沒有看到 onActivityResult() 。 確保在您的活動中實施。 它應該如下所示:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
之后,您的代碼應該按預期工作。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.