8

在 android 中将图像和文本分享到 Facebook 的正确方法是什么?例如带有预填充文本的图片。

我意识到从这里描述的本机 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 Dialog (WebDialog) 进行了尝试,但我收到“错误 (#324) 需要上传文件”,任何帮助都会很棒。

4

3 回答 3

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”));
于 2015-06-24T11:06:19.143 回答
2

无需登录即可使用当前的 Facebook SDK(当时为 3.14.1)我自己做到这一点,并且我将其变成了添加到选择器列表的共享意图。

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

于 2014-05-27T18:14:32.100 回答
1

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

在它的帮助下,发帖真的很容易:

mSocialNetworkManager.getFacebookSocialNetwork().postMessage(String message)
mSocialNetworkManager.getFacebookSocialNetwork().postPhoto(File path...)
于 2014-05-21T20:28:10.727 回答