2012-05-07 12 views
1

私はFacebookのログインボタンであるプログラムを作った、Facebookのログインページをロードするが、瞬時にコントロールが同じに戻る。ログインボタンを含むウィンドウ... エミュレータでも同じプログラムが細かく実行されています。Android:Facebook Login

+0

あなたはFacebookのアプリを知っていますか? – AndroidDev

答えて

1

FacebookデベロッパーAPIのドキュメントをご覧ください。

問題はアンシュマンは、すでにお使いの携帯電話にSSOを持っていることを、言って、再び認証しようとすると、問題があったとして、あなたはonActivityResultをオーバーライドして、特別なFacebookのauthorizeCallback機能を実行する必要があります:

それは何かこのように書きます:

  facebook.authorize(SinglePost.this, permissions, 
       new DialogListener() { 

        @Override 
        public void onComplete(Bundle values) { 
         // control comes here if the login was successful 
         // Facebook.TOKEN is the key by which the value of 
         // access token is stored in the Bundle called 
         // 'values' 
         Log.d("COMPLETE", "AUTH COMPLETE. VALUES: " 
           + values.size()); 
         Log.d("AUTH TOKEN", 
           "== " + values.getString(Facebook.TOKEN)); 
         updateStatus(values.getString(Facebook.TOKEN)); 
        } 

        @Override 
        public void onFacebookError(FacebookError e) { 
         Log.d("FACEBOOK ERROR", 
           "FB ERROR. MSG: " + e.getMessage() 
             + ", CAUSE: " + e.getCause()); 
        } 

        @Override 
        public void onError(DialogError e) { 
         Log.e("ERROR", "AUTH ERROR. MSG: " + e.getMessage() 
           + ", CAUSE: " + e.getCause()); 
        } 

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

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.d("onActivityResult", "onActivityResult"); 
    facebook.authorizeCallback(requestCode, resultCode, data); 
}