Я присоединяю растровое изображение к ImageView, сохраняя в MediaStore. Работает нормально на всех устройствах ниже android 10, но при сбое происходило в пикселях. Мой идентификатор Android ориентирован на SDK 28
try {
Bitmap thePic = MediaStore.Images.Media.GetBitmap(ContentResolver, croppedPicUri);
if(thePic != null){
imgProfileIcon.SetImageBitmap(thePic);
//mediaStorageDir = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDcim);
mediaStorageDir = GetExternalFilesDir(Environment.DirectoryPictures);
if (!mediaStorageDir.Exists())
{
mediaStorageDir.Mkdirs();
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").Format(new Java.Util.Date());
sendFile = new File(mediaStorageDir.Path + File.Separator + "IMG_" + timeStamp + ".png");
String path_ = MediaStore.Images.Media.InsertImage(this.ContentResolver, thePic, "Title", null);
if (path_ != null){
Uri tempUri = Uri.Parse(path_);
path = GetPathToImage(tempUri);
}
}
} catch (Exception ex) {
Toast.MakeText(this, "Bundle extras : " + ex.Message, ToastLength.Short).Show();
}
{Java.Lang.IllegalStateException: Не удалось создать уникальный файл: / storage / emulated / 0 / Pictures Title image / jpeg в Java.Interop.JniEnvironment + StaticMethods. CallStaticObjectMethod (тип Java.Interop.JniObjectReference, метод Java.Interop.JniMethodInfo, Java.Interop.JniArgumentValue * args) [0x00069] в <205bc242eb64455b94479843fc.Interop.JniArgumentValue * параметры) [0x00018] в <205bc242eb64455b94479843fca3eeb7>: 0 на Android.Provider.MediaStore + Images + Media.InsertImage (Android.Content.ContentResolver cr, источник Android.Graphics.Bitmap, система Android.Graphics.Bitmap, источник. Описание строки) [0x0008d] в <072ebd6d3ae947ac8b3980f8fd1aeee1>: 0 в EventApp.ProfileListActivity.OnActivityResult (код запроса System.Int32, код результата Android.App.Result, код Android.App.Result, данные Android.Content.Intent): событие: \ \ \ \ App \ Event \ in \ \ \ App \ \ \ App \ Event \ in \\ ProfileListActivity.cs: 1310 --- Конец управляемой трассировки стека Java.Lang.IllegalStateException --- java.lang.IllegalStateException: Не удалось создать уникальный файл: / storage / emulated / 0 / Pictures Title image / jpeg на android.os. Parcel.createException (Parcel.java:2079) в android.os.Parcel.readException (Parcel.java:2039) в android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:188) в android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java: 140) в android.content.ContentProviderProxy.insert (ContentProviderNative.java:481) в android.content.ContentResolver.insert (ContentResolver.java:1828) в android.provider.MediaStore.createPending (MediaStore.java:6)на android.provider.MediaStore $ Images $ Media.insertImage (MediaStore.java:1771)