在Android上分享图像和文字到Facebook

时间:2014-05-21 15:18:46

标签: android facebook facebook-sdk-3.14.x

在android中分享图片和文字到Facebook的正确方法是什么? 例如预先填充文字的图片。

我意识到,如here所述,本机Android共享意图无法做到这一点。因为它只能拍摄图像或链接而不是两者。

此外,我尝试使用facebook-sdk-3.14:

    FacebookDialog.ShareDialogBuilder 

但我现在意识到这仅用于分享链接。

我也尝试过:

    createShareDialogBuilderForPhoto() 

但这只是为了分享图像。

sdk中有什么我遗漏的东西吗?我猜这是不可能从FacebookDialog?

我是否需要在facebook和我自己的开放图表操作中创建自己的应用程序?理想情况下,我希望没有登录按钮

我也看到了类似的问题,但大多数是关于股票意图,或者如果它是sdk它至少一年过时,解决方案是类似的事情:

    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");

通过Feed对话框(WebDialog)尝试但是我得到一个“错误(#324)需要上传文件”,任何帮助都会很棒。

3 个答案:

答案 0 :(得分:5)

您可以在Facebook,Twitter和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”));

答案 1 :(得分:2)

能够在没有登录的情况下使用当前的Facebook SDK(当时为3.14.1)自行完成此操作,并将其设置为共享意图以添加到选择器列表。

我在https://github.com/b099l3/FacebookImageShareIntent有一个演示项目,只有依赖是facebook sdk,它包含在一个活动中。

答案 2 :(得分:1)

请查看我的图书馆:https://github.com/antonkrasov/AndroidSocialNetworks

借助它,发布非常简单:

mSocialNetworkManager.getFacebookSocialNetwork().postMessage(String message)
mSocialNetworkManager.getFacebookSocialNetwork().postPhoto(File path...)