如何优雅地关闭(或进入睡眠状态).Net Maui 应用程序

问题描述 投票:0回答:3

网络上有许多关于启动新毛伊岛应用程序的文章(和视频)。 Microsoft 的 Maui 文档确实讨论了 MauiApp 生命周期,并枚举了为每个受支持的平台触发适当事件的委托。除了创造之外,我找不到任何具体的例子来说明如何启动这些事件。具体来说,如何启动 MauiApp 关闭,是否涉及使应用程序进入睡眠状态或实际将其从内存中删除(根据平台的情况而定)?毛伊岛元数据提到了诸如

Quit()
StopAsync()
CloseWindow()
之类的程序,但我无法让这些程序中的任何一个(至少在调试时)真正明显地终止应用程序。

sleep lifecycle shutdown maui
3个回答
17
投票

对于 Android 应用程序:

Application.Current.Quit();

我测试过,它有效。

兼容其他平台,但我没有测试。


4
投票

对于 Windows 桌面,这有效:

Application.Current?.CloseWindow(Application.Current.MainPage.Window);

0
投票

每个给出的答案都不完整。 .Net Maui 支持 WinUI、Android、MacCatalyst 和可能的 Tizen 上的多窗口,但不支持 iOS。仅调用

Application.Current.Quit()
只会关闭窗口,并结束调用它的实例的应用程序。

要正确结束应用程序,您需要首先生成每个非主窗口,然后

Quit
原始窗口或关闭其窗口。

现在可以说这是一个错误,调用 Quit 应该结束一切,但至少目前还没有,所以给出的答案只是不了解这一事实。

© www.soinside.com 2019 - 2024. All rights reserved.