Android TransactionTooLargeException при выборе галереи изображений - PullRequest
0 голосов
/ 24 марта 2020

Я создал приложение 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 Ответ

0 голосов
/ 25 марта 2020

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

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

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

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

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

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