如何从链接共享图像,即无需下载图像,只需使用按钮即可共享

时间:2018-09-01 15:32:22

标签: android android-intent android-glide android-sharing

我是android studio的初学者,我认为这很容易,但我没有得到

如何通过链接共享图像,即无需下载图像,只需在社交媒体(如whats app)上共享即可。我可以下载图像,然后共享然后删除,但我不想这样做。我正在使用glide库将图像加载到“图像”视图中,然后当用户单击一个按钮时,它将仅共享其图像,该图像显示在“图像”视图中并且具有我的链接,然后返回到应用程序。

我正在使用Glide库加载图像。

任何帮助将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:2)

首先,您需要在glide中加载图片(因为您正在使用glide),然后可以将其共享到任何地方,但是图片会保存到存储中

代码以滑行方式加载图像(图像已保存到存储中,您可以稍后将其删除)

       Glide.with(getApplicationContext())
                    .load(imagelink)   \\link of your image file (url)
                    .asBitmap().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE)

                    .into(new SimpleTarget<Bitmap>(250, 250) {
                        @Override
                        public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {


                            Intent intent = new Intent(Intent.ACTION_SEND);
                            intent.putExtra(Intent.EXTRA_TEXT, "Hey view/download this image");
                            String path = MediaStore.Images.Media.insertImage(getContentResolver(), resource, "", null);


                            Uri screenshotUri = Uri.parse(path);



                            intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
                            intent.setType("image/*");

                            startActivity(Intent.createChooser(intent, "Share image via..."));
                        }

                        @Override
                        public void onLoadFailed(Exception e, Drawable errorDrawable) {
                            Toast.makeText(getApplicationContext(), "Something went wrong", Toast.LENGTH_SHORT).show();


                            super.onLoadFailed(e, errorDrawable);
                        }

                        @Override
                        public void onLoadStarted(Drawable placeholder) {
                            Toast.makeText(getApplicationContext(), "Starting", Toast.LENGTH_SHORT).show();

                            super.onLoadStarted(placeholder);
                        }
});

如果需要,可以通过添加更多代码从存储中删除该图像

答案 1 :(得分:0)

实际上链接也是文本,因此您可以像这样共享它:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, yourUrlOfImage);
sendIntent.setType("text/plain");
startActivity(sendIntent);