【发布时间】:2022-01-08 13:17:57
【问题描述】:
我们有一个具有选项卡视图的 Xamarin Forms 应用程序。从其中一个选项卡中,我们打开一个新的内容页面,该页面需要有一个选项来选择文件和上传附件。 使用 Xamarin.Essentials FilePicker,我们能够选择文件并读取文件内容,但在读取文件后,应用程序会自动导航到主屏幕 - 与重新启动应用程序相同。
我们观察到,当打开文件选择器时,会调用 App.xaml.cs 中的 OnSleep;当读取文件并关闭选择器时,会调用 App.xaml.cs 中的 onresume。看起来这可能会导致 XForms 应用程序完全重新启动。
所有权限都已到位 - 我们的目标是 Android 9.0,使用 XForms 版本 4.8,X.Essentials v1.6。
你能帮忙吗?
相关代码:
try
{
var file = await FilePicker.PickAsync();
if (file != null)
{
var stream = await file.OpenReadAsync();
byte[] FileData = new byte[stream.Length];
await stream.ReadAsync(FileData, 0, (int)(stream.Length - 1));
fileData = Convert.ToBase64String(FileData);
fileStream = new MemoryStream(FileData);
FileNameVisibility = true;
FileName = file.FileName;
}
}
catch (Exception ex)
{
Crashes.TrackError(ex);
}
【问题讨论】:
-
请贴出相关代码
-
如果你描述的是一个bug,你应该提交到github上修复。
-
@Jason 添加了相关代码。
-
@IvanIčin 在提交错误报告之前,我想尝试修复它并确认它是 Xamarin 中的错误。
-
有例外吗?问题行为究竟何时发生?您说“读取文件后”-如果是这种情况,则 FilePicker 不是问题。
标签: android xamarin xamarin.forms xamarin.android filepicker