title: Facebook Android sdk 3.0 Authorization dialog not showing requested permissions
body: <p>I am asking for email, user_birthday, and name. Every time the login web view comes up, it only lists basic information.</p>
  
  <p>It seems to have something to do with the call to openActiveSession in the onClickLogin listener.</p>
  
  <p>This class is a copy/paste of the "SessionLoginSample" facebook sample project's "LoginUsingActivityActivity.java" file. The only things I've added are the permissions, closing the session onStart and onStop, and adding the request to retrieve the user's information in SessionStatusCallback.</p>
  
  <p>I haven't been able to find a cause for the permissions not showing up in the authorization dialog. Any help is greatly appreciated, code is pasted below.</p>
  
  <pre><code>package com.mydomain.test.login;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.TextView;
  import com.facebook.LoggingBehavior;
  import com.facebook.Request;
  import com.facebook.Response;
  import com.facebook.Session;
  import com.facebook.SessionState;
  import com.facebook.Settings;
  import com.facebook.model.GraphUser;
  
  public class LoginTest extends Activity {
      private static final String URL_PREFIX_FRIENDS = "https://graph.facebook.com/me/friends?access_token=";
      private List&lt;String&gt; perms;
  
      private TextView textInstructionsOrLink;
      private Button buttonLoginLogout;
      private Session.StatusCallback statusCallback = new SessionStatusCallback();
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_login_test);
          buttonLoginLogout = (Button)findViewById(R.id.fbLogin);
          textInstructionsOrLink = (TextView)findViewById(R.id.textView1);
          perms = new ArrayList&lt;String&gt;();
          perms.add("email");
          perms.add("name");
          perms.add("user_birthday");
  
          Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
  
          Session session = Session.getActiveSession();
          if (session == null) {
              if (savedInstanceState != null) {
                  session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
              }
              if (session == null) {
                  session = new Session(this);
              }
              Session.setActiveSession(session);
              if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
                  session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback).setPermissions(perms));
              }
          }
  
          updateView();
      }
  
      @Override
      public void onStart() {
          super.onStart();
          Session.getActiveSession().addCallback(statusCallback);
          if( Session.getActiveSession() != null )
              Session.getActiveSession().close();
      }
  
      @Override
      public void onStop() {
          super.onStop();
          Session.getActiveSession().removeCallback(statusCallback);
          if( Session.getActiveSession() != null )
              Session.getActiveSession().close();
      }
  
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
      }
  
      @Override
      protected void onSaveInstanceState(Bundle outState) {
          super.onSaveInstanceState(outState);
          Session session = Session.getActiveSession();
          Session.saveSession(session, outState);
      }
  
      private void updateView() {
          Session session = Session.getActiveSession();
          if (session.isOpened()) {
              textInstructionsOrLink.setText(URL_PREFIX_FRIENDS + session.getAccessToken());
              buttonLoginLogout.setText(R.string.fbLogout);
              buttonLoginLogout.setOnClickListener(new OnClickListener() {
                  public void onClick(View view) { onClickLogout(); }
              });
          } else {
              textInstructionsOrLink.setText(R.string.hello_world);
              buttonLoginLogout.setText(R.string.fbLogin);
              buttonLoginLogout.setOnClickListener(new OnClickListener() {
                  public void onClick(View view) { onClickLogin(); }
              });
          }
      }
  
      private void onClickLogin() {
          Session session = Session.getActiveSession();
          if (!session.isOpened() &amp;&amp; !session.isClosed()) {
              session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback).setPermissions(perms));
          } else {
              Session.openActiveSession(this, true, statusCallback);
          }
      }
  
      private void onClickLogout() {
          Session session = Session.getActiveSession();
          if (!session.isClosed()) {
              session.closeAndClearTokenInformation();
          }
      }
  
      private class SessionStatusCallback implements Session.StatusCallback {
          @Override
          public void call(Session session, SessionState state, Exception exception) {
              if( session.isOpened() ){
                  Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
  
                      @Override
                      public void onCompleted(GraphUser user, Response response) {
                          Log.i("FB_TEST", response.toString());
                          Log.i("FB_TEST", user.getName() + " -- " + "DOB: " + user.getBirthday() + " EMAIL: " + user.getProperty("email"));
                      }
                  });
              }
              updateView();
          }
      }
  }
  </code></pre>