Skip to content

Instantly share code, notes, and snippets.

@Kaushik1502
Last active February 25, 2016 07:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kaushik1502/8659be317665cc5ff548 to your computer and use it in GitHub Desktop.
Save Kaushik1502/8659be317665cc5ff548 to your computer and use it in GitHub Desktop.
Facebook share text
/** Initialization **/
private LoginManager loginManager;
/** OnCreate **/
fbCallbackManager = CallbackManager.Factory.create();
loginManager = LoginManager.getInstance();
/** Button click **/
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken == null || accessToken.isExpired() ||
!accessToken.getPermissions().contains("publish_actions")) {
faceBookLogInNdShareContent();
} else {
postToFb(accessToken);
}
/** methods **/
private void faceBookLogInNdShareContent() {
loginManager.logInWithPublishPermissions(this,
Collections.singletonList("publish_actions"));
loginManager.registerCallback(fbCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(final LoginResult loginResult) {
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
postToFb(loginResult.getAccessToken());
}
});
request.executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
}
});
}
private void postToFb(AccessToken accessToken) {
progressDialog.setMessage("Sharing...");
if (!progressDialog.isShowing()) {
progressDialog.show();
}
Bundle parameters = new Bundle(1);
parameters.putString("message", content);
GraphRequest request = new GraphRequest(accessToken, "me/feed", parameters,
HttpMethod.POST, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
progressDialog.dismiss();
FacebookRequestError error = graphResponse.getError();
if (error == null) {
Toast.makeText(BibleContentListingActivity.this, "share success",
Toast.LENGTH_SHORT).show();
} else {
Log.e("facebook error", error.getErrorMessage());
Toast.makeText(BibleContentListingActivity.this, "share failure",
Toast.LENGTH_SHORT).show();
}
}
});
request.executeAsync();
}
/** OnActivityResult **/
fbCallbackManager.onActivityResult(requestCode, resultCode, data);
/** manifest **/
<!-- Inside application tag -->
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<activity android:name="com.facebook.FacebookActivity" android:configChanges="orientation"/>
<provider android:authorities="com.facebook.app.FacebookContentProvider1659360447612114" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment