1

我正在使用此代码在 google+ 上分享:

    ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);
    builder.setType("text/plain");
    builder.setText(text);
    if (imageURI != null) {
        builder.setStream(imageURI)
               .setType("image/png");
    }

    Intent shareIntent = builder.getIntent()
            .setPackage("com.google.android.apps.plus");
    activity.startActivity(shareIntent);

如果有图像 - 它共享没有文本的图像,如果没有图像 - 它成功共享文本。如何将文本和图像一起发布?

4

1 回答 1

2

我今天一直在尝试解决这个问题,我想我明白了 - 我希望你同时解决了它,但其他人可能会觉得这很有用。

File f = new File(your_file_path);
                ContentValues values = new ContentValues(2);
                values.put(MediaStore.Images.Media.MIME_TYPE, "image/png"); //or /jpeg or whatever
                values.put(MediaStore.Images.Media.DATA, f.getAbsolutePath());
                Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("image/png");
                intent.putExtra(Intent.EXTRA_STREAM, uri);
                intent.putExtra(Intent.EXTRA_TEXT, "blahblah");
                intent.setPackage("com.google.android.apps.plus");
                startActivity(intent);

我认为您的代码的问题可能是您用图像“覆盖”了文本类型。不过,我没有使用过 IntentBuilders,所以请随时纠正我。

于 2013-02-18T11:01:08.667 回答