2011-07-21 222 views
1

可能重複:
On Android, how do you switch activities programatically?登錄與Facebook的Android應用程序

我已經建立了一個Android應用程序,它允許用戶登錄到facebook.For這一點,我已經使用了faceboook-sdk包。這裏是我如何登錄:

mFacebook = new Facebook(APP_ID); 
    mAsyncRunner = new AsyncFacebookRunner(mFacebook); 
if(isSession()){ 
      Intent i = new Intent(getBaseContext(), com.SplashScreen.MultipleOptions.class); 
      startActivity(i); 
     } 
      else 
      { 
       Log.d(TAG, "sessionNOTValid, relogin"); 
       mFacebook.authorize(this, PERMS, new LoginDialogListener()); 

      } 

而現在LoginDialogListener

private class LoginDialogListener implements DialogListener { 


     public void onComplete(Bundle values) { 
       Log.d(TAG, "LoginONComplete"); 
       String token = mFacebook.getAccessToken(); 
       long token_expires = mFacebook.getAccessExpires(); 
       Log.d(TAG, "AccessToken: " + token); 
       Log.d(TAG, "AccessExpires: " + token_expires); 
       sharedPrefs = PreferenceManager 
           .getDefaultSharedPreferences(getBaseContext()); 
       sharedPrefs.edit().putLong("access_expires", token_expires) 
           .commit(); 
       sharedPrefs.edit().putString("access_token", token).commit(); 
       //mAsyncRunner.request("me", new IDRequestListener()); 

     } 


     public void onFacebookError(FacebookError e) { 
       Log.d(TAG, "FacebookError: " + e.getMessage()); 
     } 


     public void onError(DialogError e) { 
       Log.d(TAG, "Error: " + e.getMessage()); 
     } 


     public void onCancel() { 
       Log.d(TAG, "OnCancel"); 
     } 
} 

我想要做的是,當我嘗試登錄,如果登錄成功地是然後automaticaly移動到另一個活動。 在成功登錄後的這一刻,我仍然保持着同樣的活動。我該怎麼做?

+0

它不是重複的...我不知道如何檢測成功登錄已完成......或者當登錄完成後會被觸發,所以我可以開始一個意圖! – adrian

+0

好的,我沒有從你的問題中得到答案。我會添加一個答案。 – THelper

回答

1

要檢測成功登錄,您可以使用AuthListener,例如,

SessionEvents.addAuthListener(new FacebookAuthListener()); 

public class FacebookAuthListener implements AuthListener { 

    public void onAuthSucceed() { 
     //... add code to switch activity here... 
    } 
+0

你使用什麼軟件包,facebook-sdk?如果你可以請添加一點點的代碼我會很費勁! – adrian

+1

是的,我正在使用Facebook-SDK。你應該看看這個SDK中的「[簡單示例](https://github.com/facebook/facebook-android-sdk/tree/master/examples/simple)」項目。它包含您可能正在尋找的SessionEvents類以及[完整示例](https://github.com/facebook/facebook-android-sdk/blob/master/examples/simple/src/com/ Facebook的/安卓/ Example.java)。 – THelper

相關問題