Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is sample code for Facebook sharing, it will prompt user for publishing permission if not yet granted!</p> <pre><code>private void shareOnFacebook() { Session session = Session.getActiveSession(); if(session.isOpened()) { List&lt;String&gt; permissions = session.getPermissions(); if(! isSubsetOf(PERMISSIONS, permissions)) { pendingPublishReauthorization = true; Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS); session.requestNewPublishPermissions(newPermissionsRequest); return; } final ProgressDialog progressDialog = ProgressDialog.show(this, "", getString(R.string.please_wait)); Bundle postParams = new Bundle(); postParams.putString("name", "Cabit"); postParams.putString("caption", "Ready when you are"); postParams.putString("description", getString(R.string.sharing_text)); postParams.putString("link", "http://s3technology.net/"); postParams.putString("picture", ""); Request.Callback callback = new Request.Callback() { @Override public void onCompleted(Response response) { progressDialog.dismiss(); System.out.println("Response"+response); GraphObject graphObject = response.getGraphObject(); System.out.println("response object:"+graphObject); if(graphObject != null) { try { JSONObject graphResponse = response.getGraphObject().getInnerJSONObject(); Log.v("callback completed", ""+response.getGraphObject()); String postId = null; postId = graphResponse.getString("id"); Log.v("postId", postId); } catch (JSONException e) { Log.i("shareOnFacebook", "JSON error "+ e.getMessage()); } FacebookRequestError error = response.getError(); if(error != null) { toastMessage.showToast(error.getErrorMessage()); } else { toastMessage.showToast("Shared on Facebook..."); } } else { toastMessage.showToast(getString(R.string.connection_error)); } } }; Request request = new Request(session, "me/feed", postParams, HttpMethod.POST, callback); RequestAsyncTask requestAsyncTask = new RequestAsyncTask(request); requestAsyncTask.execute(); } else { loginViaFacebook(); } } private boolean isSubsetOf(Collection&lt;String&gt; subset, Collection&lt;String&gt; superset) { for(String string : subset) { if(! superset.contains(string)) { return false; } } return true; } private void onSessionStateChange(Session session, SessionState state, Exception exception) { Log.d("onSessionStateChanged", state.name()); if(pendingPublishReauthorization &amp;&amp; state.equals(SessionState.OPENED_TOKEN_UPDATED)) { pendingPublishReauthorization = false; shareOnFacebook(); } if(state.equals(SessionState.OPENED)) { shareOnFacebook(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(Session.getActiveSession() != null) { Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); Log.d("onACtivityResult", "Entered"); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload