2011-05-24 105 views
1

我遵循指示here,並且它沒有安裝Facebook應用程序時正常工作。當安裝官方Facebook應用程序後,調用authorize後不會調用回調,並且我不回收令牌。當應用程序安裝後,閃亮的登錄屏幕出現(來自Facebook應用程序),當不是時,webview。 我搜索了很多,但每個教程都說我應該使用我鏈接的頁面中的示例。我錯過了什麼?Facebook認證與Facebook的應用程序錯誤

// Facebook connect 
public void facebookConnect(View v) { 
    /* CocktailflowTest AppID */ 
    final Facebook facebook = new Facebook("134370943293463"); 
    facebook.authorize(this, new String[] { "email", "offline_access" }, new DialogListener() { 

     @Override 
     public void onFacebookError(FacebookError e) { 
      e.getMessage(); 
     } 

     @Override 
     public void onError(DialogError e) { 
      Toast.makeText(LaunchActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onComplete(Bundle values) { 
      mFBToken = facebook.getAccessToken(); 
      getPreferences(MODE_PRIVATE).edit().putString(Prefs.FACEBOOK_TOKEN, mFBToken).commit(); 
      WebService service = new WebService(); 
      WebServiceListener l = new LaunchWebserviceListener(); 
      mDialog = ProgressDialog.show(LaunchActivity.this, "", "Logging in..."); 
      mDialog.show(); 
      service.connectWithFacebook(l, mFBToken); 
     } 

     @Override 
     public void onCancel() { 
      Log.i(TAG, "Facebook connect was cancelled by user."); 
     } 
    }); 
} 

回答

0

你需要重寫onActivityResult方法在你的活動:

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