Java 试图与Android共享图像

Java 试图与Android共享图像,java,android,android-intent,parse-platform,android-sharing,Java,Android,Android Intent,Parse Platform,Android Sharing,我正试图通过社交媒体分享一张图片。它询问图像的路径,我从我的对象中检索了图像URL,格式为files.parsetfss.com/77c6003f-0d1b-4b55-b09c-16337b3a2eb8/tfss-7267d2df-9807-4dc0-ad6f-0fd47d83d20f-3eb7b9e4-d770-420c-a0a0-9ca4fc4a6a0a\U 1.png。共享意图会显示,但当我打开任何其他应用程序进行共享时,我会得到一个没有logcat错误的崩溃。出了什么问题 Intent

我正试图通过社交媒体分享一张图片。它询问图像的路径,我从我的对象中检索了图像URL,格式为files.parsetfss.com/77c6003f-0d1b-4b55-b09c-16337b3a2eb8/tfss-7267d2df-9807-4dc0-ad6f-0fd47d83d20f-3eb7b9e4-d770-420c-a0a0-9ca4fc4a6a0a\U 1.png。共享意图会显示,但当我打开任何其他应用程序进行共享时,我会得到一个没有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无效,因为它缺少方案

根据,您需要在EXTRA_流EXTRA中传递content:Uri。实际上,file:Uri通常也可以工作。我希望您在使用其他方案时会遇到问题,例如https:或http:。

如果getImage返回问题中的长字符串,则该URL无效,因为它缺少方案


根据,您需要在EXTRA_流EXTRA中传递content:Uri。实际上,file:Uri通常也可以工作。我希望您在使用其他方案时遇到问题,例如https:或http:。

可能这有帮助

可能这有帮助

您的解析服务器的URL对于共享目的无效,因此请将加载的位图临时保存在设备中,然后使用保存的位图URL共享图像。共享图像后,您可以从设备中删除保存的图像,因为图像文件的解析服务器URL对于共享意图无效,所以请将加载的位图临时保存在设备中,然后使用保存的位图URL共享图像。图像共享后,您可以从设备中删除保存的图像

以便marketFeedItem.getDesign.getImage返回URL或位图?尝试更改为share.putExtraIntent.EXTRA_流,Uri.parsemarketFeedItem.getDesign.getImage;它肯定会打印出url。@Bhargav,它给出了一个IllegalArgumentException。异常消息说什么?仅允许内容Uri?因此marketFeedItem.getDesign.getImage返回URL或位图?尝试更改为share.putExtraIntent.EXTRA_流,Uri.parsemarketFeedItem.getDesign.getImage;它肯定会打印出url。@Bhargav,它给出了一个IllegalArgumentException。异常消息说什么?只允许内容Uri?有点!我尝试了那个方法,它给了我FileNotFoundException,但open失败:eNot没有这样的文件或目录。通常,您必须将图像从url保存到本地存储并共享这个本地位图!我尝试了那个方法,它给了我FileNotFoundException,但open失败:eNot没有这样的文件或目录。通常,您必须将图像从url保存到本地存储并像这样共享本地位图?URL URL=新的URLmarketFeedItem.getDesign.getImage;位图图像=BitmapFactory.decodeStreamurl.openConnection.getInputStream;然后在share extra中使用image?使用Universal image Loader=>,它是管理服务器图像加载过程的强大库。它将提供ImageLoadingListener,它返回带有加载位图的图像url,如下所示?URL URL=新的URLmarketFeedItem.getDesign.getImage;位图图像=BitmapFactory.decodeStreamurl.openConnection.getInputStream;然后在share extra中使用image?使用Universal image Loader=>,它是管理服务器图像加载过程的强大库。它将提供ImageLoadingListener,返回带有加载位图的图像url