Xamarin - CrossMedia.Current.TakePhotoAsyn c сохраняет 2 фотографии в разных местах - PullRequest
0 голосов
/ 23 января 2020

Я создал приложение, которое делает снимки, используя Xamarins CrossMedia.Current.TakePhotoAsyn c

Это работает почти идеально, но я не могу остановить его, сохраняя одно и то же изображение дважды.

Вот как я создаю изображение:

var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
                {
                    PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium,
                    RotateImage = true,
                    AllowCropping = true,
                    Name = "photo1.jpg",
                    SaveToAlbum = false, 
                    DefaultCamera = CameraDevice.Rear, 

                });

Здесь хранится изображение:

/storage/emulated/0/Android/data/XamarinCamera.XamarinCamera/files/Pictures/photo1.jpg

Но также сохраняется и в галерее с

\Internal shared storage\DCIM\Camera\IMG_20200123_162022.jpg

Как программно удалить 2-е изображение, как только оно сохранит 1-е изображение?

Я намерен удалить оба изображения в конце, но мне нужно только 1-е изображение, пока пользователь не завершит еще пара шагов.

file.Path; возвращает только первый путь, поэтому я знаю второй путь только после просмотра папки.

Я использую Android 7.0

Я не могу повторить это на моем S10, который использует Android 9.0 (что не хранит изображение в галерее.)

**** Редактировать ****

Я также пытался скопировать второе имя файла с

"IMG_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg";

Но это не не работает, потому что пользователь должен нажать OK или Повторить после съемки изображения, поэтому, если они ждут секунду или нажимают повтор, я создал неправильное имя файла.

**** Редактировать 2 *** *

Я пытался сохранить его в альбом и найти путь оттуда, но теперь он сохраняется в 3 каталогах xD. Из моего кода я могу только установить / получить имя файла photo1, которое я и установил. Мне нужно знать имя файла 2-го изображения, чтобы я мог затем удалить его.

Вот 1-й:

/storage/emulated/0/Android/data/XamarinCamera.XamarinCamera/files/Pictures/photo1.jpg

Здесь 2-й:

/Internal shared storage/DCIM/Camera/IMG_20200123_165130.jpg

Здесь 3-й :

/storage/emulated/0/Pictures/temp/photo1.jpg
...