2011-07-21 1 views
1

可能性の重複:私はfaceboook-sdkパッケージを使用していたユーザーがこれをfacebook.Forにはログインすることができますアンドロイドのアプリケーションを構築している
On Android, how do you switch activities programatically?ログイン

。ここに私のログイン方法です:

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

sucecefulログインが完了したときを検出する方法がわかりません...ログインが完了したときに何が起きて、私は意図を開始できるのですか? – 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の "[simple example](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

関連する問題