【发布时间】:2021-01-30 20:05:40
【问题描述】:
当我尝试使用 Xamarin.Essentials 的 FilePicker 类时,我的应用程序关闭且未引发任何异常。
我做了什么:
补充说:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
还有代码:
async Task<FileResult> PickAndShow(PickOptions options)
{
try
{
var result = await FilePicker.PickAsync();
if (result != null)
{
Text = $"File Name: {result.FileName}";
if (result.FileName.EndsWith("jpg", StringComparison.OrdinalIgnoreCase) ||
result.FileName.EndsWith("png", StringComparison.OrdinalIgnoreCase))
{
var stream = await result.OpenReadAsync();
Image = ImageSource.FromStream(() => stream);
}
}
}
catch (Exception ex)
{
// The user canceled or something went wrong
}
}
我正在使用 VS for MacOS。
关闭应用的视频: https://drive.google.com/file/d/1H1488amryi_p7mkg7JdmhcGAE569KON4/view?usp=sharing
请帮我看看我错过了什么?
编辑:
发生错误的行
var result = await FilePicker.PickAsync();
例外:
不抛出异常;
应用程序退出:
[Mono] 请求加载 Xamarin.Essentials.dll 的引用 5(共 8 个) [Mono] 加载 Xamarin.Essentials.dll asmctx DEFAULT 的参考 5,寻找 System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [单声道] 程序集参考 addref Xamarin.Essentials[0x7ddc93de80] -> System.Core[0x7d850f7880]:10 【编舞】跳过711帧!应用程序可能在其主线程上做了太多工作。 [OpenGLRenderer] 戴维!持续时间=12935ms;标志= 0,IntendedVsync = 24578200518089,垂直同步= 24591127790687,OldestInputEvent = 9223372036854775807,NewestInputEvent = 0,HandleInputStart = 24591131789208,AnimationStart = 24591131799939,PerformTraversalsStart = 24591132369131,DrawStart = 24591132532323,SyncQueued = 24591132572054,SyncStart = 24591133134246,IssueDrawCommandsStart = 24591133217554,SwapBuffers = 24591134886554,FrameCompleted=24591136679054,DequeueBufferDuration=219000,QueueBufferDuration=280000, [mali_winsys] EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBolean) 返回 0x3000 [libEGL] EGLNativeWindowType 0x7de100a210 断开连接失败 [Mono] 请求加载 Xamarin.Forms.Platform.Android.dll 的引用 12(共 22 个) [Mono] 加载 Xamarin.Forms.Platform.Android.dll asmctx DEFAULT 的引用 12,寻找 System.Runtime.Serialization,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [单声道] 程序集参考 addref Xamarin.Forms.Platform.Android[0x7d852aa080] -> System.Runtime.Serialization[0x7d77336a00]: 3 [Mono] 请求加载 Xamarin.Forms.Platform.Android.dll 的引用 21(共 22 个) [Mono] 加载 Xamarin.Forms.Platform.Android.dll asmctx DEFAULT 的引用 21,寻找 System.Xml,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [单声道] 程序集参考地址 Xamarin.Forms.Platform.Android[0x7d852aa080] -> System.Xml[0x7d7769b100]:6 [libEGL] EGLNativeWindowType 0x7d5d049310 断开连接失败
A设备日志:
【问题讨论】:
-
哪一行导致异常?您是否检查过设备日志和 VS 输出窗口是否有任何相关消息?
-
您可以检查应用程序输出以获取详细信息,我们将需要这些信息来诊断问题。此外,您可以放置一个“异常捕获点”来准确找出引发异常的原因和位置
-
嗨,谢谢 Jason 和 Saamer。用信息编辑问题。给您带来的不便,敬请见谅
-
@JoséDonizeteOliveiraJunior 您好,您使用最新版本的 Xamarin Essentials 进行测试吗?
-
你好蒋小弟,你好,是所有更新的插件。
标签: xamarin filepicker xamarin.essentials