Share Image and Text to Facebook on android

2020-02-12 05:34发布

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.

3条回答
Deceive 欺骗
2楼-- · 2020-02-12 05:51

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”));
查看更多
家丑人穷心不美
3楼-- · 2020-02-12 05:55

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...)
查看更多
该账号已被封号
4楼-- · 2020-02-12 06:05

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.

查看更多
登录 后发表回答