12
I have a button click to login facebook,but sometimes this code can't work. throw exception:Caused by:
com.facebook.FacebookException: Cannot pass a publish or manage permission (email) to a request for read authorization
This is my activity's code :
public class FacebookLoginActivity extends Activity {
private final static String TAG="FB";
private static final List<String> PERMISSIONS=Arrays.asList("email", "user_likes", "user_status");
private Session.StatusCallback statusCallback=new SessionStatusCallback();
private GraphUser user = null;
private Bundle bundle;
private Intent myIntent;
private Session session;
private static FacebookLoginActivity instance=new FacebookLoginActivity();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(bundle==null){
bundle=new Bundle();
}
Log.v(TAG, "in FB onCreate method");
myIntent = this.getIntent();
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
String action = ClientUtil.getElementValue("action");
Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
session=openActiveSession(this, true, PERMISSIONS);
onClickLogin();
}
public void onClickLogin() {
Log.v(TAG, "click login btn");
session = Session.getActiveSession();
if (!session.isOpened() && !session.isClosed()) {
OpenRequest openRequest=new Session.OpenRequest(this);
openRequest.setPermissions(PERMISSIONS);
openRequest.setCallback(statusCallback);
openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
session.o