我在使用意图共享图像方面遇到了一个小问题。这是我的情况,当我使用下面的代码时,我想与标题共享图像(标题可能是链接或文本)
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等中分享,
如何做到这一点,请帮帮我
提前致谢
答案 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