public void share(Day giorno) { Bundle params = new Bundle(); params.putString("name", "Ecco cosa mi è successo " + giorno.getData()); params.putString("caption", giorno.getTesto()); params.putString("description", "DearDiary è il tuo diario quotidiano su Android!"); params.putString("link", "https://www.facebook.com/peppeuz"); params.putString("picture", "http://imgbin.org/images/12252.png"); if (Session.getActiveSession() == null) { alert(); } else { WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(activity, Session.getActiveSession(), params)) .setOnCompleteListener( new OnCompleteListener() { @Override public void onComplete(Bundle values, FacebookException error) { if (error == null) { final String postId = values.getString("post_id"); if (postId != null) { Toast.makeText( activity, "Post effettuato correttamente!" // + postId , Toast.LENGTH_SHORT) .show(); } else { // User clicked the Cancel button Toast.makeText( activity.getApplicationContext(), "Post annullato", Toast.LENGTH_SHORT) .show(); } } else if (error instanceof FacebookOperationCanceledException) { // User clicked the "x" button Toast.makeText( activity.getApplicationContext(), "Post annullato", Toast.LENGTH_SHORT) .show(); } else { // Generic, ex: network error Toast.makeText( activity.getApplicationContext(), "Si è presentato un errore durante la pubblicazione", Toast.LENGTH_SHORT) .show(); } } }) .build(); feedDialog.show(); } }
private void pegarUsuario() { String usuario = "me"; System.out.println("Entrou no pegar Usuario"); RequestBatch requestBatch = new RequestBatch(); System.out.println(Session.getActiveSession()); requestBatch.add( new Request( Session.getActiveSession(), usuario, null, null, new Request.Callback() { public void onCompleted(Response response) { GraphObject graphObject = response.getGraphObject(); System.out.println("Entrou no oncompleted do PegarUsuario"); if (graphObject != null) { System.out.println("Entrou no if do graphObject"); if (graphObject.getProperty("id") != null) { Banco banco = new Banco(TelaFacebook.this); TelaFacebook.nome = (String) graphObject.getProperty("name"); TelaFacebook.email = (String) graphObject.getProperty("email"); TelaFacebook.aniversario = (String) graphObject.getProperty("birthday"); System.out.println( "Nome Usuário : " + nome + " Email: " + email + " Aniversário: " + aniversario); if (email == null) { email = ((String) graphObject.getProperty("first_name")) + "@"; } if (aniversario == null) { aniversario = "01/01/2014"; } if (banco.idUsuario(email) == null) { banco.cadastrarUsuario( nome, aniversario, email, "12345", "Homem", "Show", "Esporte", "Teatro"); } Usuario.setId(banco.idUsuario(email)); System.out.println("Logado"); Toast.makeText(TelaFacebook.this, "Usuário Logado", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(TelaFacebook.this, TelaPrincipal.class); startActivity(intent); } } } })); requestBatch.executeAsync(); }
public void publishFeedDialog( String name, String caption, String description, String link, String picture) { final Context context = UtilActivity.this; final Session session = Session.getActiveSession(); if (session != null && session.isOpened()) { Bundle params = new Bundle(); params.putString("name", name); params.putString("caption", caption); params.putString("description", description); params.putString("link", link); params.putString("picture", picture); WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(context, Session.getActiveSession(), params)) .setOnCompleteListener( new OnCompleteListener() { @Override public void onComplete(Bundle values, FacebookException error) { if (error == null) { // When the story is posted, echo the success // and the post Id. final String postId = values.getString("post_id"); if (postId != null) { Toast.makeText(context, "Posted story, id: " + postId, Toast.LENGTH_SHORT) .show(); } else { // User clicked the Cancel button Toast.makeText(context, "Publish cancelled", Toast.LENGTH_SHORT).show(); } } else if (error instanceof FacebookOperationCanceledException) { // User clicked the "x" button Toast.makeText(context, "Publish cancelled", Toast.LENGTH_SHORT).show(); } else { // Generic, ex: network error Toast.makeText(context, "Error posting story", Toast.LENGTH_SHORT).show(); } } }) .build(); feedDialog.show(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setMessage("Facebook app not available."); builder.setNeutralButton(context.getResources().getString(android.R.string.ok), null); builder.create().show(); } }
private boolean ensureOpenSession() { if (Session.getActiveSession() == null || !Session.getActiveSession().isOpened()) { Session.openActiveSession( this, true, new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { onSessionStateChanged(session, state, exception); } }); return false; } return true; }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); }
public static boolean isOpen() { Session session = Session.getActiveSession(); if (session != null && session.isOpened()) { return true; } return false; }
public static void init(String appID) { Session session; if (FB.isLoggedIn()) { session = Session.getActiveSession(); // this shouldn't be an issue for most people: the app id in the session not matching the one // provided // instead it can probably happen if a developer wants to switch app ids at run time. if (appID != session.getApplicationId()) { Log.w( FB.TAG, "App Id in active session (" + session.getApplicationId() + ") doesn't match App Id passed in: " + appID); session = new Builder(FB.getUnityActivity()).setApplicationId(appID).build(); } } else { session = new Builder(FB.getUnityActivity()).setApplicationId(appID).build(); } Session.setActiveSession(session); final UnityMessage unityMessage = new UnityMessage("OnInitComplete"); unityMessage.put("key_hash", FB.getKeyHash()); // if there is an existing session, reopen it if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState())) { Session.StatusCallback finalCallback = getFinalCallback(unityMessage, null); sessionOpenRequest(session, finalCallback, FB.getUnityActivity(), null, false); } else { unityMessage.send(); } }
private void requestReadPermissions(JSONArray args, CallbackContext callbackContext) throws JSONException { Session.NewPermissionsRequest permissionsRequest = buildPermissionsRequest(args, callbackContext); Session.getActiveSession().requestNewReadPermissions(permissionsRequest); }
private void updateUI() { Session session = Session.getActiveSession(); boolean enableButtons = (session != null && session.isOpened()); // postStatusUpdateButton.setEnabled(enableButtons // || canPresentShareDialog); // postPhotoButton.setEnabled(enableButtons // || canPresentShareDialogWithPhotos); // pickFriendsButton.setEnabled(enableButtons); // pickPlaceButton.setEnabled(enableButtons); // if (enableButtons && user != null) { System.out.println("userid" + user.getId()); System.out.println("First name" + user.getFirstName()); System.out.println("email" + user.getProperty("email").toString()); System.out.println("Birthday:" + user.getBirthday()); System.out.println("GENDER" + user.getBirthday()); System.out.println("Location:" + user.getLocation()); System.out.println("JSON:" + user.getInnerJSONObject()); } else { System.out.println("Userinfo is null"); } }
private void sendInviteToFriend() { StringBuilder sbIds = new StringBuilder(); for (String id : mInviteIds) { sbIds.append(id).append(","); } WebDialog dialog = new WebDialog.RequestsDialogBuilder(this, Session.getActiveSession()) .setMessage(getString(R.string.my_firend_invite_send_short_msg)) .setTo(sbIds.substring(0, sbIds.length() - 1)) .setOnCompleteListener( new OnCompleteListener() { @Override public void onComplete(Bundle values, FacebookException error) { // TODO Auto-generated method stub if (error != null) { showErrorConfirmDialog(error.getMessage()); } else if (values != null && values.size() == 0) { showErrorConfirmDialog(R.string.invite_fail); } else { onInviteComplete(mInviteIds); mInviteIds = null; } } }) .build(); dialog.show(); }
@Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); mHelper.onDestroy(); Session.getActiveSession().removeCallback(mCallback); }
private void updateView() { Session session = Session.getActiveSession(); if (session.isOpened()) { // Check for publish permissions List<String> permissions = session.getPermissions(); if (!isSubsetOf(PERMISSIONS, permissions)) { Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS); session.requestNewPublishPermissions(newPermissionsRequest); } makeMeRequest(session); // bLoginFacebook.setText(R.string.Log_Out); bLoginFacebook.setOnClickListener( new OnClickListener() { public void onClick(View view) { onClickLogout(); } }); } else { // bLoginFacebook.setText(R.string.Log_In); bLoginFacebook.setOnClickListener( new OnClickListener() { public void onClick(View view) { onClickLogin(); } }); } }
private void sendRequestDialog(String userId) { Bundle params = new Bundle(); params.putString("message", "Send items to your friends when they arrive at the location."); params.putString("to", userId); WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(this, Session.getActiveSession(), params)) .setOnCompleteListener( new OnCompleteListener() { public void onComplete(Bundle values, FacebookException error) { if (values == null) return; final String requestId = values.getString("request"); if (requestId != null) { Toast.makeText(getApplicationContext(), "Request sent", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText( getApplicationContext(), "Request cancelled", Toast.LENGTH_SHORT) .show(); } } }) .build(); requestsDialog.show(); }
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Session session = Session.getActiveSession(); Session.saveSession(session, outState); uiHelper.onSaveInstanceState(outState); }
public static void logout(int cbIndex) { mStatusCallback.mCallByMode = SessionStatusCallback.CallByLogout; mStatusCallback.mCallbackIndex = cbIndex; Session session = Session.getActiveSession(); if (!session.isClosed()) session.closeAndClearTokenInformation(); else Log.e(TAG, "FB.logout() called without an access token."); }
void _ui(String params, int cbIndex) { String action = null; Bundle parameters = new Bundle(); try { JSONObject jsonObject = new JSONObject(params); action = jsonObject.getString("method"); Iterator iterator = jsonObject.keys(); String key = null; String value = null; while (iterator.hasNext()) { key = (String) iterator.next(); Object object = jsonObject.get(key); if (object instanceof String) { value = (String) object; if (key.compareTo("method") != 0) parameters.putString(key, value); } else if (object instanceof Integer) { parameters.putInt(key, ((Integer) object).intValue()); } else if (object instanceof Boolean) { parameters.putBoolean(key, ((Boolean) object).booleanValue()); } else if (object instanceof Double) { parameters.putDouble(key, ((Double) object).doubleValue()); } else { Log.v(TAG, "other type:" + object.toString()); } } } catch (JSONException e) { e.printStackTrace(); } WebDialog uiDialog = (new WebDialog.Builder(mActivity, Session.getActiveSession(), action, parameters)) .setOnCompleteListener(new WebDialogListener(cbIndex)) .build(); uiDialog.show(); }
private void initUI() { aQuery .id(R.id.logout_button) .clicked( new OnClickListener() { @Override public void onClick(View v) { Session session = Session.getActiveSession(); if (!session.isClosed()) { session.closeAndClearTokenInformation(); Intent mainIntent = new Intent(getActivity(), LoginActivity.class); mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); pref.edit().remove(Common.USER_ID).commit(); startActivity(mainIntent); } } }); Session session = Session.getActiveSession(); if (session.isOpened()) { Request.executeMeRequestAsync( session, new GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { mProfilePictureView.setProfileId(user.getId()); aQuery.id(R.id.profile_username_textview).text(user.getName()); } }); } initList(); }
public static void getLoginStatus(int cbIndex, boolean force) { Log.v(TAG, "getLoginStatus" + cbIndex); Session session = Session.getActiveSession(); if (session == null) { nativeCallback(cbIndex, "{\"authResponse\":null,\"status\":\"unknown\"}"); } else { if (session.isOpened()) { nativeCallback( cbIndex, "{\"authResponse\":{\"accessToken\":\"" + session.getAccessToken() + "\"},\"status\":\"connected\"}"); } else if (session.getState() == SessionState.CLOSED_LOGIN_FAILED) { nativeCallback( cbIndex, "{\"authResponse\":{\"accessToken\":\"" + session.getAccessToken() + "\"},\"status\":\"not_authorized\"}"); } else { nativeCallback( cbIndex, "{\"authResponse\":{\"accessToken\":\"" + session.getAccessToken() + "\"},\"status\":\"unknown\"}"); } } }
/** Get the current user profile info */ private void makeMeRequest() { final Session session = Session.getActiveSession(); if (session != null && session.isOpened()) { Request request = Request.newMeRequest( session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { isMakeMeRequestStarted = false; dismissProgressDialog(); if (session == Session.getActiveSession() && user != null) { mUser = user; updateUI(); } if (response != null && response.getError() != null) { Utils.handleError( getActivity(), response.getError(), Utils.getProfileReadPermission()); } } }); request.executeAsync(); } }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate( AirFacebookExtension.context.getResourceId("layout.com_facebook_usersettingsfragment"), container, false); loginButton = (LoginButton) view.findViewById( AirFacebookExtension.context.getResourceId( "id.com_facebook_usersettingsfragment_login_button")); loginButton.setProperties(loginButtonProperties); loginButton.setFragment(this); Session session = getSession(); if (session != null && !session.equals(Session.getActiveSession())) { loginButton.setSession(session); } connectedStateLabel = (TextView) view.findViewById( AirFacebookExtension.context.getResourceId( "id.com_facebook_usersettingsfragment_profile_name")); // if no background is set for some reason, then default to Facebook blue if (view.getBackground() == null) { view.setBackgroundColor( getResources() .getColor(AirFacebookExtension.context.getResourceId("color.com_facebook_blue"))); } else { view.getBackground().setDither(true); } return view; }
public static void callFacebookLogout(Context context) { Session session = Session.getActiveSession(); if (session != null) { if (!session.isClosed()) { session.closeAndClearTokenInformation(); // clear your preferences if saved Intent i = new Intent(); i.setClass(context, MainActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } else { session = new Session(context); Session.setActiveSession(session); session.closeAndClearTokenInformation(); // clear your preferences if saved Intent i = new Intent(); i.setClass(context, MainActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
private Session createSession() { Session activeSession = Session.getActiveSession(); if (activeSession == null || activeSession.getState().isClosed()) { activeSession = new Session.Builder(this).setApplicationId(appId).build(); Session.setActiveSession(activeSession); } return activeSession; }
public static void closeSession() { Session session = Session.getActiveSession(); if (!session.isClosed()) { session.closeAndClearTokenInformation(); SharedPreferenceUtil.removeValue(SharedPreferenceUtil.PREF_FACEBOOK_TOKEN); SharedPreferenceUtil.removeValue(SharedPreferenceUtil.PREF_FACEBOOK_EXPIRE_DATE); } }
private void onClickLogin() { Session session = Session.getActiveSession(); if (!session.isOpened() && !session.isClosed()) { session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback)); } else { Session.openActiveSession(this, true, statusCallback); } }
@Override public void onActivityResult( Activity currentActivity, int requestCode, int resultCode, Intent data) { /* if(mDialog != null && mDialog.isShowing()){ mDialog.dismiss(); }*/ Session.getActiveSession().onActivityResult(currentActivity, requestCode, resultCode, data); }
@Override protected void onResumeFragments() { super.onResumeFragments(); Session session = Session.getActiveSession(); if (session != null && session.isOpened()) showFragment(SELECTION, false); else showFragment(SPLASH, false); }
private void login(JSONArray args, CallbackContext callbackContext) throws JSONException { Session session = Session.getActiveSession(); if (session == null || session.isClosed()) { Log.d(TAG, "Building new session"); session = new Session.Builder(cordova.getActivity()).setApplicationId(this.appId).build(); Session.setActiveSession(session); } else { Log.d(TAG, "Existing session " + session.getState()); } if (session.isOpened()) { Log.d(TAG, "Session already open"); callbackContext.success(buildAuthorizationResponse(session)); return; } final CallbackContext callback = callbackContext; List<String> permissions = new ArrayList<String>(); permissions.add("basic_info"); JSONArray argumentPermissions = args.getJSONArray(0); for (int i = 0; i < argumentPermissions.length(); i++) { permissions.add(argumentPermissions.getString(i)); } OpenRequest openRequest = new OpenRequest(cordova.getActivity()) .setPermissions(permissions) .setCallback( new StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { Log.d(TAG, "In status callback open for read " + state); if (state == SessionState.OPENING) { return; } session.removeCallback(this); try { JSONObject response = buildAuthorizationResponse(session); callback.success(response); } catch (JSONException e) { Log.e(TAG, "JSONException", e); callback.error(e.toString()); } } }); cordova.setActivityResultCallback(this); session.openForRead(openRequest); }
public static void login(String params, final Activity activity) { Session session = Session.getActiveSession(); if (session == null) { Log.w(FB.TAG, "Session not found. Call init() before calling login()"); return; } // if the old session is closed (or login was cancelled), create new one if (session.isClosed()) { session = new Builder(FB.getUnityActivity()).setApplicationId(session.getApplicationId()).build(); Session.setActiveSession(session); } final UnityMessage unityMessage = new UnityMessage("OnLoginComplete"); unityMessage.put("key_hash", FB.getKeyHash()); // parse and separate the permissions into read and publish permissions List<String> permissions = new ArrayList<String>(); UnityParams unity_params = UnityParams.parse(params, "couldn't parse login params: " + params); if (unity_params.hasString("scope")) { permissions = new ArrayList<String>(Arrays.asList(unity_params.getString("scope").split(","))); } List<String> publishPermissions = new ArrayList<String>(); List<String> readPermissions = new ArrayList<String>(); if (permissions.size() > 0) { for (String s : permissions) { if (s.length() == 0) { continue; } if (Session.isPublishPermission(s)) { publishPermissions.add(s); } else { readPermissions.add((s)); } } } boolean hasPublishPermissions = !publishPermissions.isEmpty(); // check to see if the readPermissions have been TOSed already // we don't need to show the readPermissions dialog if they have all been TOSed even though it's // a mix // of permissions boolean showMixedPermissionsFlow = hasPublishPermissions && !session.getPermissions().containsAll(readPermissions); // if we're logging in and showing a mix of publish and read permission, we need to split up the // dialogs // first just show the read permissions, after they are accepted show publish permissions if (showMixedPermissionsFlow) { Session.StatusCallback afterReadPermissionCallback = getAfterReadPermissionLoginCallback(unityMessage, publishPermissions, activity); sessionOpenRequest(session, afterReadPermissionCallback, activity, readPermissions, false); } else { Session.StatusCallback finalCallback = getFinalCallback(unityMessage, activity); sessionOpenRequest(session, finalCallback, activity, permissions, hasPublishPermissions); } }
private void Poimg(Bitmap b) { Session session = Session.getActiveSession(); if (session != null) { // Part 1: create callback to get URL of uploaded photo Request.Callback uploadPhotoRequestCallback = new Request.Callback() { @Override public void onCompleted(Response response) { // safety check if (isFinishing()) { return; } if (response.getError() != null) { // [IF Failed Posting] Log.d("", "photo upload problem. Error=" + response.getError()); System.out.println(response.getError()); } // [ENDIF Failed Posting] Object graphResponse = response.getGraphObject().getProperty("id"); if (graphResponse == null || !(graphResponse instanceof String) || TextUtils.isEmpty((String) graphResponse)) { // [IF Failed upload/no results] Log.d("", "failed photo upload/no response"); } else { // [ELSEIF successful upload] fbPhotoAddress = "https://www.facebook.com/photo.php?fbid=" + graphResponse; System.out.println(fbPhotoAddress + "/////"); } // [ENDIF successful posting or not] } // [END onCompleted] }; // Part 2: upload the photo Request request = Request.newUploadPhotoRequest(session, b, uploadPhotoRequestCallback); Bundle bundle = request.getParameters(); bundle.putString( "message", "受測者:" + UserName + "\n拍攝日期:" + Data[0] + "\n酒測值:" + Data[1] + "/L" + "\n位置:" + returnAddress); request.setParameters(bundle); /*紫陽科技酒測即時群組*/ request.setGraphPath("615097428532040/photos"); /* * 測試群組 * request.setGraphPath("612077312161579/photos"); */ /* 個人塗鴉牆 * request.setGraphPath("me/photos"); */ request.executeAsync(); } }