У меня есть Activity с ViewPager и соответствующий адаптер с изображениями, поэтому я могу перемещать их влево или вправо. Изображения загружаются с помощью библиотеки Glide из ответа API, они сохраняются с помощью diskCacheStrategy(DiskCacheStrategy.RESOURCE). Поэтому мне интересно, как я могу поделиться ими с родным Android-ресурсом? Мне нужен путь к изображению, которое я не могу найти.
Вот код:
Адаптер:
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view = layoutInflater.inflate(R.layout.image_preview_item, container, false);
String imageUrl = mImageObjectList.get(position);
currentImage = view.findViewById(R.id.ivCurrentImage);
GlideApp.with(mContext)
.asDrawable()
.load(imageUrl)
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.transition(DrawableTransitionOptions.withCrossFade())
.into(currentImage);
container.addView(view);
return view;
}
И у меня есть метод shareSelectedImage() в адаптере, который будет вызываться из основного действия, когда пользователь нажимает на общий ресурс:
public void shareSelectedImage() {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/jpg");
String shareBody = "Text body";
intent.putExtra(Intent.EXTRA_STREAM, ?????);
//intent.putExtra(Intent.EXTRA_TEXT, shareBody);
listener.shareImage(intent);
}
Итак, я не знаю, как получить URI из текущего изображения в адаптере из Glide в месте с вопросительным знаком? Любой совет? Или любая другая идея о том, как это реализовать?
Но изображение уже сохранено Glide, знаете, как его получить?
Если вы хотите поделиться изображением с другим приложением, вы хотите сохранить изображение на устройстве
@Ashvinsolanki Очевидно, вы не поняли вопрос. Спасибо, в любом случае.
Так объясните вопрос
ты решил свой вопрос?
Сначала получите выбранное изображение В вашем адаптере:
currentImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent DisplayImage=new Intent(context.getApplicationContext(), DisplayImage.class);
DisplayImage.putExtra("ImageUrl",imageUrl);
context.startActivity(DisplayImage);
}
});
Поделитесь изображением с отображением изображения, затем загрузите это изображение в ImageView с помощью Glide. Затем сохраните это изображение на устройство и получите путь к сохраненному изображению, которым вы можете поделиться с другими приложениями.
Или же
По моему мнению, сохраните изображение, затем поделитесь им