使用intent android将图像与标题共享给社交媒体

时间:2015-10-14 10:18:08

标签: android android-intent

我在使用意图共享图像方面遇到了一个小问题。这是我的情况,当我使用下面的代码时,我想与标题共享图像(标题可能是链接或文本)

Intent shareIntent = new Intent(Intent.ACTION_SEND);
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setType("text/plain");

            shareIntent.setType("image/*");

            Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                    R.drawable.whatsapp_promotion);
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);

            String path = MediaStore.Images.Media.insertImage(
                    getContentResolver(), bitmap, null, null);
            Uri uri = Uri.parse(path);
            shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
            shareIntent
                    .putExtra(
                            Intent.EXTRA_TEXT,
                            "**my message with URL **");

            startActivity(Intent.createChooser(shareIntent, "Share Via..."));

我可以与环聊,WhatsApp,Twitter等分享,但我无法与Facebook分享。所以我决定的是一个带有标题的图像,可以在whatsapp,Hangout,facebook等中分享,

如何做到这一点,请帮帮我

提前致谢

3 个答案:

答案 0 :(得分:1)

您无法通过Intent将图像和文本共享到Facebook。因此,您必须使用Facebook API。

答案 1 :(得分:0)

你需要Facebook sdk,然后你可以这样做:

    SharePhoto photo = new SharePhoto.Builder().setBitmap(
            getYourBitmapMethod()).build();

    SharePhotoContent content = new SharePhotoContent.Builder()
            .addPhoto(photo).setRef("This is a test").build();

    ShareDialog.show(YourActivity.this, content);

答案 2 :(得分:0)

以下是在Facebook上分享照片的文档 https://developers.facebook.com/docs/sharing/android#photos

以下是为您的图片构建内容的代码段

Bitmap image = ...
SharePhoto photo = new SharePhoto.Builder()
        .setBitmap(image)
        .setCaption("Enter your caption")
        .build();
SharePhotoContent content = new SharePhotoContent.Builder()
        .addPhoto(photo)
        .build();

然后分享ShareDialog.show(YourActivity.this, content);

在Facebook上分享的完整文档:https://developers.facebook.com/docs/sharing/android