我已经使用Xamarin构建了一个Android应用程序,该应用程序包含允许用户选择图像的功能。在某些设备中它可以工作,但在其他设备中,它抛出以下异常:
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上搜索时,我发现一些帖子,人们建议检查两次活动之间传递的图像的尺寸,但在这种情况下,图像会在选择图像之前崩溃。
有人可以帮我吗?
提前感谢
我自己解决了问题。在Google上搜索时,我发现了一些建议在活动中管理OnSaveInstanceState事件的帖子,以保存捆绑包。当用户选择“图库”时,将调用此事件。
以下是事件代码:
protected override void OnSaveInstanceState(Bundle outState)
{
base.OnSaveInstanceState(outState);
if (outState != null)
outState.Clear();
}
希望这对以后的人有所帮助。