Session.Builder builder = new Session.Builder(activity); builder.setApplicationId(activity.getString(R.string.app_id)); builder.setTokenCachingStrategy(new SharedPreferencesTokenCachingStrategy(activity)); Session session = builder.build(); List<String> permissionsList = new ArrayList<String>(); if (!session.getPermissions().contains(USER_PHOTOS_PERMISSION)) permissionsList.add(USER_PHOTOS_PERMISSION); if (!session.getPermissions().contains(PUBLISH_ACTIONS_PERMISSION)) permissionsList.add(PUBLISH_ACTIONS_PERMISSION); Session.OpenRequest request = new Session.OpenRequest(activity).setCallback(new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { if (exception!=null) { Toast.makeText(activity, exception.getMessage(), Toast.LENGTH_SHORT).show(); return; } if (session.isOpened()) checkAndRequestPermissions(); } }); request.setPermissions(permissionsList); request.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); session.openForPublish(request);