2011-03-11 4 views
3
내가 (안드로이드 - 페이스 북 - SDK에서) 글로벌 페이스 북 객체 내 활동을 통해 공유 할 수 있도록 만드는거야

: 활동 중 하나에서안드로이드 활동을 통해 글로벌 페이스 북의 객체를 공유

public class GlobalVars extends Application { 

    public static final String APP_ID = "123456789";  
    public Facebook facebook = new Facebook(APP_ID); 

} 

를 I 내가 로그인 할 때 지금

public class FacebookActivity extends Activity { 

    private LoginButton mLoginButton; 

    private Facebook mFacebook;  
    private AsyncFacebookRunner mAsyncRunner;  

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     mFacebook = ((GlobalVars)getApplicationContext()).facebook; 

     setContentView(R.layout.facebook); 
     mLoginButton = (LoginButton) findViewById(R.id.login); 
     mText = (TextView) FacebookActivity.this.findViewById(R.id.txt); 

     mAsyncRunner = new AsyncFacebookRunner(mFacebook); 

     SessionStore.restore(mFacebook, this); 
     SessionEvents.addAuthListener(new SampleAuthListener()); 
     SessionEvents.addLogoutListener(new SampleLogoutListener()); 
     mLoginButton.init(this, mFacebook); 

    } 

    ... 

} 

와 같은 페이스 북의 개체를 사용하여 다른 활동으로 이동 : 예에서와 같이 LoginButton를 추가

public class MainActivity extends WhipemActivity { 


    private Facebook mFacebook;  
    private AsyncFacebookRunner mAsyncRunner; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 

     mFacebook = ((GlobalVars)getApplicationContext()).facebook; 

    } 

    .... 

} 

와 같은 요청을 실행

mAsyncRunner = new AsyncFacebookRunner(mFacebook); 
mAsyncRunner.request("me/friends", new FriendRequestListener()); 

은 내가 잘못 무엇

Facebook Error: Error validating access token. 

거야? 글로벌 페이스 북 오브젝트를 갖는 올바른 방법일까요?

감사합니다.

답변

3

jul, 새로운 활동에서 로그인 중에 얻은 액세스 토큰을 복원해야합니다.

SessionStore.restore(mFacebook, this); 

SessionStore은 &가 된 SharedPreferences 그것이 만들어 목적에 /로부터 된 SharedPreferences 통해 액세스 토큰 복원 저장한다.

SessionStore.restore()는 SharedPreferences에 저장된 액세스 토큰을 가져 와서 Facebook 개체에 설정합니다.

"Facebook Example Simple"프로젝트를보고 SessionStore 클래스를 살펴보면 SessionStore의 작동 방식을 더 잘 볼 수 있습니다.

facebook-android-sdk/examples/simple

+0

괜찮아요하지만 어떻게 다른 활동을 위해 .. 저장 mFacebook가는 그 ...? –

관련 문제