0

나는 Facebook Android SDK tutorial을 따르고 있으며이 단계까지 내 응용 프로그램에서 모든 코드를 사용하고 있습니다. 나는 응용 프로그램을 시작 (내 휴대 전화에서 테스트 있지만 않습니다 에뮬레이터에서 동일)이 화면이 온다 최대 :Facebook 로그인 화면을 가져올 수 없습니까?

enter image description here

좋아, 좋아!

enter image description here

난 그냥이 마련 :

enter image description here

하지만, 그 대신 어떤 종류의,로드가 완료 된 후에는 로그 인 화면 여기에 주어진 예처럼 올라오고

코드 :

package com.greatapp; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import com.facebook.android.*; 
import com.facebook.android.Facebook.*; 

public class MyGreatActivity extends Activity { 

Facebook facebook = new Facebook("MY_APP_ID"); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    facebook.authorize(this, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) {} 

     @Override 
     public void onFacebookError(FacebookError error) {} 

     @Override 
     public void onError(DialogError e) {} 

     @Override 
     public void onCancel() {} 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
} 

좋아, 내가 프로젝트를 삭제하고 다시 시작했다. 이전의이 화면은 무언가를하고 있지만이로드 스크린을 계속해서 다시로드합니다. 거의 모든 것이 Facebook의 서버에 1000 가지의 다른 것들을 연결하는 것과 같으며 각각 하나는 로딩 화면이 있습니다. 나는 무엇을해야할지 모른다. Logcat에 오류가 없습니다.

enter image description here

+0

는 당신이 기본 FB 응용 프로그램이 휴대 전화에 설치되어 있습니까? –

답변

0

그것은 나를 위해 작동합니다. logcat에 오류 메시지가 있습니까? 인터넷 사용 권한을 사용합니까? 이러한 사항을 확인하십시오.

는 또는 어쩌면 당신은 이미

을 완료 또는 예를 들어 코드에서 일부 로그를 추가

+0

인터넷이 추가되었습니다. LogCat에 오류가 없습니다. 이 코드를 추가 한 후에 Logcat에 아무것도 표시되지 않습니다. 오류가없고 아무것도 없습니다. – Cole

0

그냥 같이 코드를 수정

 facebook.authorize(this, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) { 
      Log.d("onComplete",""+values); 
     } 

     @Override 
     public void onFacebookError(FacebookError error) { 
      Log.d("onFacebookError",""+error); 
     } 

     @Override 
     public void onError(DialogError e) { 
      Log.d("onError",""+e); 
     } 

     @Override 
     public void onCancel() { 
      Log.d("onCancel","cancel"); 
     } 
    }); 

과 로그 캣 결과 참조 :

import com.facebook.android.*; 
import com.facebook.android.Facebook.*; 

public class MyGreatActivity extends Activity { 
public static final String[] PERMISSIONS = new String[] {"email", "publish_checkins", "publish_stream","offline_access"}; 
Facebook facebook = new Facebook("MY_APP_ID"); 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    facebook.authorize(this,PERMISSIONS,Facebook.FORCE_DIALOG_AUTH, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) {} 

     @Override 
     public void onFacebookError(FacebookError error) {} 

     @Override 
     public void onError(DialogError e) {} 

     @Override 
     public void onCancel() {} 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
} 

Facebook.FORCE_DIALOG_AUTH ---> 강제로 페이스 북에 로그인하게됩니다.

또한 새로운 사용자로 로그인하기 전에 facebook.logout (context) 방법을 사용하여 현재 방법을 로그 아웃해야합니다.

사용이 방법 :

public void Logout() throws MalformedURLException, IOException { 
     facebook.logout(mContext); 
    }