为什么在使用 xamarin essentials filepicker 时应用程序关闭?

Why the application closes when using xamarin essentials filepicker?

当我尝试使用 Xamarin.Essentials' FilePicker class.

时,我的应用程序没有抛出任何异常就关闭了

我做了什么:

添加: <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
    }
}

我在 MacOS 上使用 VS。

关闭应用视频: https://drive.google.com/file/d/1H1488amryi_p7mkg7JdmhcGAE569KON4/view?usp=sharing

请帮我看看我错过了什么?

编辑:

发生错误的行 var result = await FilePicker.PickAsync();

异常:

没有抛出异常;

申请退出:

[Mono] 请求加载 Xamarin.Essentials.dll 的第 5 个(共 8 个)参考 [Mono] 加载参考 5 of Xamarin.Essentials.dll asmctx DEFAULT,寻找 System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [Mono] Assembly Ref addref Xamarin.Essentials[0x7ddc93de80] -> System.Core[0x7d850f7880]: 10 [编舞]跳过711帧!应用程序可能在其主线程上做了太多工作。 [OpenGLRenderer] 戴维!持续时间=12935ms; Flags=0, IntendedVsync=24578200518089, Vsync=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 **, EGLBoolean) returns 0x3000 [libEGL] EGLNativeWindowType 0x7de100a210 断开连接失败 [Mono] 请求加载引用 12(共 22 个),共 Xamarin.Forms.Platform.Android.dll [Mono] 加载参考 12 of Xamarin.Forms.Platform.Android.dll asmctx DEFAULT,寻找 System.Runtime.Serialization,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0x7d852aa080] -> System.Runtime.Serialization[0x7d77336a00]: 3 [Mono] 请求加载引用 Xamarin.Forms.Platform.Android.dll 的第 21 个(共 22 个) [Mono] 加载参考 21 of Xamarin.Forms.Platform.Android.dll asmctx DEFAULT,寻找 System.Xml,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e [Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0x7d852aa080] -> System.Xml[0x7d7769b100]: 6 [libEGL] EGLNativeWindowType 0x7d5d049310 断开连接失败

一个第二个设备日志:

Image Log

感谢大家,对于给您带来的不便,我们深表歉意。罪魁祸首是我的不良行为。没有例外,因为真的没有。问题是当您打开文件时应用程序在后台启动,在我的代码中我有:

    public static void Background()
    {
        activity.MoveTaskToBack(true);
    } 

我忘记了。在其他情况下我仍然需要这个,所以我这样解决:

    public static void Background()
    {
        if (App.Current.importClicked) App.Current.importClicked = false;
        else activity.MoveTaskToBack(true);
    } 

再次表示歉意。