我正在使用Xam.Plugin.Media从图库或相机中挑选照片。在iOS中它可以很好地工作但在Android中测试,在从库中挑选照片后,当尝试无法导航到另一个页面时应用程序崩溃。
错误:Java.Lang.IlegalStateExecution:在onSaveInstanceState之后无法执行此操作
这是我的代码:
private async void SelectPicture(PostModel p)
{
if (!CrossMedia.Current.IsPickPhotoSupported)
{
await DisplayAlert("Photos Not Supported", "Permission not granted to photos.", "OK");
return;
}
var file = await CrossMedia.Current.PickPhotoAsync();
if (file == null)
return;
selfieImg.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
file.Dispose();
return stream;
});
await Navigation.PushAsync(new testePage());
}
提前致谢。
答案 0 :(得分:0)
我猜这可能是一个线程问题,因为从图像选择意图返回时,您的代码看起来可能无法在主UI线程中运行。
尝试通过
进行导航通话Xamarin.Forms.Device.BeginInvokeOnMainThread(() => {
await Navigation.PushAsync(new testePage())
});