Android TransactionTooLargeException при выборе галереи изображений

Я создал приложение для Android с Xamarin, которое содержит функцию, которая позволяет пользователям выбирать изображение. В некоторых устройствах это работает, но в других устройствах оно выдает следующее исключение:

java.lang.RuntimeException: android.os.TransactionTooLargeException

Вот мой код

var intent = new Intent(Intent.ActionPick, MediaStore.Images.Media.ExternalContentUri);

intent.SetType("image/*");
StartActivityForResult(Intent.CreateChooser(intent, Resources.GetString(Resource.String.selectImage)), SELECT_FILE);

Он показывает выбор и, когда я выбираю «Галерея изображений», выдается исключение.

В поиске в Google я нашел несколько постов, где люди предлагали проверить размер изображения, передаваемого между двумя действиями, но в этом случае он вылетал до выбора изображения.

Может кто-нибудь мне помочь?

заранее спасибо

Всего 1 ответ


Я решил свою проблему самостоятельно. В поиске в Google я нашел несколько постов, в которых предлагалось управлять событием OnSaveInstanceState в своей деятельности, чтобы сохранить пакет. Это событие вызывается, когда пользователь выбирает «Галерея изображений».

Ниже приведен код события:

protected override void OnSaveInstanceState(Bundle outState)
    {
        base.OnSaveInstanceState(outState);

        if (outState != null)
            outState.Clear();
    }

Надеюсь, это поможет кому-то в будущем.


Есть идеи?

10000