【问题标题】:How to share image to social media with bitmap?如何使用位图将图像分享到社交媒体?
【发布时间】:2016-03-13 04:29:38
【问题描述】:

我需要从我的 RecyclerAdapter 共享图像,因为图像最初不存在,即使用适配器加载到 Activity 中。如何将位图分享到社交媒体?每次我在我的应用中单击共享时,它都会显示“没有应用可以执行此操作”。

feedItemView.setFeedSocialShareClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Share to Social Media

                ImageView imageView = (ImageView) feedItemView.findViewById(R.id.image);
                Drawable mDrawable = imageView.getDrawable();
                Bitmap mBitmap = ((BitmapDrawable)mDrawable).getBitmap();

                String path = MediaStore.Images.Media.insertImage(context.getContentResolver(),
                        mBitmap, "Design", null);

                Uri uri = Uri.parse(path);

                Intent share = new Intent(Intent.ACTION_SEND);
                share.setType("image");
                share.putExtra(Intent.EXTRA_STREAM, uri);
                share.putExtra(Intent.EXTRA_TEXT, "I found something cool!");
                context.startActivity(Intent.createChooser(share, "Share Your Design!"));
            }
        });

【问题讨论】:

    标签: java android android-contentresolver android-recyclerview android-sharing


    【解决方案1】:

    试试

     share.setType("image/*");
    

    【讨论】:

    • 太棒了。哇。这让我的大脑一阵绞痛。哈哈。当它允许我时,我会在 9 分钟内接受答案。 /* 是否考虑了不同的图像扩展名?
    • 完全正确。您可以定义特定类型,例如“png”、“gif”等。
    【解决方案2】:

    Kotlin 中,如果您的 SDK 低于 29: 您需要在哪里提供文件的地址!

    val share = Intent(Intent.ACTION_SEND)
              share.type = "image/jpeg"
              share.putExtra(Intent.EXTRA_STREAM,Uri.parse(file.path) ) // or Uri.fromFile(file)
              share.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
              share.flags = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
              startActivity(Intent.createChooser(share, "Share Image"))
    

    但如果你想覆盖所有 SDK ,最好使用 FileProvider

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多