尝试有意分享图片 Android

Trying to share image with intent Android

我正在尝试与社交媒体分享图片。它要求图像的路径,并且我已经从我的对象中以 files.parsetfss.com/77c6003f-0d1b-4b55-b09c-16337b3a2eb8/tfss-7267d2df-9807-4dc0-ad6f-0fd47d83d20f-3eb7b9e4-d770-420c-a0a0-9ca4fc4a6a0a_1.png 的形式检索了图像 URL。显示了共享意图,但是当我打开任何其他应用程序进行共享时,我遇到了没有 logcat 错误的崩溃。可能出了什么问题?

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, marketFeedItem.getDesign().getImage());
startActivity(Intent.createChooser(share, "Share your design!"));

更新的答案。这是我为让它工作所做的:

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

                String path = MediaStore.Images.Media.insertImage(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!");
                startActivity(Intent.createChooser(share, "Share Your Design!"));

如果 getImage() 返回问题中的长字符串,那不是有效的 URL,因为它缺少方案。

根据 the docs,您需要在 EXTRA_STREAM extra 中传递一个 content: Uri。实际上,file: Uri 经常也有效。我希望您 运行 遇到其他方案的问题,例如 https:http:.

也许这有帮助share image with URL android share intent

您的图像文件解析服务器的

URL 对共享意图无效,因此请将加载的位图临时保存在您的设备中,然后使用该保存的位图 URL 共享图像。图片分享后,您可以从您的设备中删除保存的图片