Share Image and Text to Facebook on android
Asked Answered
G

3

8

What is the correct way to share an image and text to Facebook in android? e.g. picture with pre-populated text.

I realise that this is not possible from the native Android share intent as described here. As it can only take an image or a link not both.

Also I have tried using the facebook-sdk-3.14 with:

    FacebookDialog.ShareDialogBuilder 

but I now realise this is for sharing links only.

I have also tried with:

    createShareDialogBuilderForPhoto() 

but this is for sharing images only.

Is there something I am missing in the sdk? I am guessing it is not possible from FacebookDialog?

Will I need to go the route of creating my own app in facebook and my own open graph action? Ideally I am looking to not have a login button.

I have also seen similar questions but most are about the share intent or if it is the sdk it at least a year out of date and the solution is some thing similar to this:

    Bundle parameters = new Bundle();
            parameters.putString("message", category_item_name_desc.getText().toString());
            parameters.putString("picture", categoryItemsModel.getImageUrl());
            parameters.putString("caption", txtDescription_desc.getText().toString());
            facebook.request("/me/feed", parameters, "POST");

Tried it through the Feed Dialog (WebDialog) but im getting a "error (#324) requires upload file", Any help would be great.

Geanticline answered 21/5, 2014 at 15:18 Comment(1)
I'm not sure but it could be done that way: github.com/b099l3/FacebookImageShareIntentIden
G
2

Was able to do this my self with the current Facebook SDK (3.14.1 at the time) with no login and I made it into a share intent for adding to the chooser list.

I have a demo project at https://github.com/b099l3/FacebookImageShareIntent only dependency is the facebook sdk and it is contained in one activity.

Geanticline answered 27/5, 2014 at 18:14 Comment(1)
thanks to find solution :) i mean the overall conclusion - usefulKermis
C
5

You can share your image on facebook, Twitter, and Gmail:

Bitmap b =BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);

Intent share = new Intent(Intent.ACTION_SEND);

share.setType(“image/jpeg”);

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(getContentResolver(), b, “Title”, null);
Uri imageUri = Uri.parse(path);
share.putExtra(Intent.EXTRA_STREAM, imageUri);
startActivity(Intent.createChooser(share, “Select”));
Compassionate answered 24/6, 2015 at 11:6 Comment(0)
G
2

Was able to do this my self with the current Facebook SDK (3.14.1 at the time) with no login and I made it into a share intent for adding to the chooser list.

I have a demo project at https://github.com/b099l3/FacebookImageShareIntent only dependency is the facebook sdk and it is contained in one activity.

Geanticline answered 27/5, 2014 at 18:14 Comment(1)
thanks to find solution :) i mean the overall conclusion - usefulKermis
C
1

Please take a look a look on my library: https://github.com/antonkrasov/AndroidSocialNetworks

With help of it, posting is really easy:

mSocialNetworkManager.getFacebookSocialNetwork().postMessage(String message)
mSocialNetworkManager.getFacebookSocialNetwork().postPhoto(File path...)
Casebook answered 21/5, 2014 at 20:28 Comment(2)
Hey thanks for the link, I took a look at the library but it quite comprehensive for what Im looking for. Im just looking for Facebook and I would ideally not have any login buttons.Geanticline
This is no longer maintained.Featureless

© 2022 - 2024 — McMap. All rights reserved.