如何从 link 分享图片,即不下载图片只需使用按钮分享
How to share image from link ,i.e, without downloading the image just share using a button
我是 android studio 的新手,我认为这很容易,但我还是不明白
如何从 link 分享图片,即不下载图片就在社交媒体上分享,比如 whats app。我可以下载图片然后分享然后删除它,但我不想这样做那。我正在使用 glide 库在图像视图中加载图像,然后当用户单击一个按钮时,它只会共享其图像,该图像显示在图像视图中并且我拥有 link,然后返回到应用程序。
我正在使用 Glide 库加载图像。
任何帮助将不胜感激。
提前致谢。
其实link也是文字,大家可以这样分享:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, yourUrlOfImage);
sendIntent.setType("text/plain");
startActivity(sendIntent);
首先你需要在 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);
}
});
如果需要,可以通过添加更多代码从存储中删除该图像
我是 android studio 的新手,我认为这很容易,但我还是不明白
如何从 link 分享图片,即不下载图片就在社交媒体上分享,比如 whats app。我可以下载图片然后分享然后删除它,但我不想这样做那。我正在使用 glide 库在图像视图中加载图像,然后当用户单击一个按钮时,它只会共享其图像,该图像显示在图像视图中并且我拥有 link,然后返回到应用程序。
我正在使用 Glide 库加载图像。
任何帮助将不胜感激。
提前致谢。
其实link也是文字,大家可以这样分享:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, yourUrlOfImage);
sendIntent.setType("text/plain");
startActivity(sendIntent);
首先你需要在 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);
}
});
如果需要,可以通过添加更多代码从存储中删除该图像