返回顶部
首页 > 资讯 > 精选 >在.NET MAUI应用中怎么配置应用生命周期事件
  • 164
分享到

在.NET MAUI应用中怎么配置应用生命周期事件

2023-06-29 17:06:20 164人浏览 独家记忆
摘要

这篇文章主要介绍了在.net MAUI应用中怎么配置应用生命周期事件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。应用程序生命周期通常,应用具有不同的生命周期或状态

这篇文章主要介绍了在.net MAUI应用中怎么配置应用生命周期事件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

应用程序生命周期

通常,应用具有不同的生命周期或状态。.NET MAUI 应用具有以下四个生命周期(执行状态):

  • 运行 (Running)

  • 未运行 (Not running)

  • 关闭 (Deactivated)

  • 停止 (Stopped)

当窗口移动到每个状态时,将触发不同的事件。

跨平台生命周期

以下是跨平台应用中提供的一些预定义生命周期事件:

  • Created: 应用从未运行状态移动到正在运行状态时发生。通常,当我们启动新窗口时。

  • Activated: 当窗口从未聚焦状态移动到聚焦状态(未聚焦 = 位于另一个窗口后面)时发生。

  • Deactivated: 当窗口移动到未聚焦状态时发生。

  • Stopped: 在窗口变为隐藏时发生。例如,当我们将其最小化时。这样,窗口就有可能被破坏。

  • Resumed: 已停止事件的后续事件,但与创建的事件不同。

  • Destroying: 在窗口被销毁和解除分配时发生。

下面是映射图,其中说明了 .NET MAUI 框架将如何映射本机事件。

在.NET MAUI应用中怎么配置应用生命周期事件

如何配置生命周期事件

使用 .NET MAUI Preview 13,您可以使用 MauiAppBuilder 和 ConfigureLifecycleEvents 扩展方法轻松地在 MauiProgram 类中配置生命周期事件。此方法在 Microsoft.Maui.LifecycleEvents 命名空间中可用。

有关常见配置,请参阅以下代码示例。

using Microsoft.Maui.LifecycleEvents;namespace MauiApp1;public static class MauiProgram{    public static MauiApp CreateMauiApp()    {        var builder = MauiApp.CreateBuilder();        builder            .UseMauiApp<App>()            .ConfigureFonts(fonts =>            {                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");            }).ConfigureLifecycleEvents(app =>            {                 //Code...            });        return builder.Build();    }}

特定于平台的生命周期事件

您还可以为自定义设置引发特定于平台的事件。下面列举了每个平台的特定事件(可用):

Android

目前,有以下 21 个特定于 Android 平台的事件可用:

  • OnActivityResult

  • OnApplicationConfigurationChanged

  • OnApplicationCreate

  • OnApplicationCreating

  • OnApplicationLowMemory

  • OnApplicationTrimMemory

  • OnBackPressed

  • OnConfigurationChanged

  • OnCreate

  • OnDestroy

  • OnNewIntent

  • OnPause

  • OnPostCreate

  • OnPostResume

  • OnRequestPermissionsResult

  • OnRestart

  • OnRestoreInstanceState

  • OnResume

  • OnSaveInstanceState

  • OnStart

  • OnStop

您可以使用编译器指令通过 AddAndroid() 扩展方法调用特定于 Android 平台的事件。
请参阅下面的代码示例。在这里,我们将调用 OnBackPressed事件以移动到上一个目标。 

public static MauiApp CreateMauiApp()    {        var builder = MauiApp.CreateBuilder();        builder            .UseMauiApp<App>()            .ConfigureFonts(fonts =>            {                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");            }).ConfigureLifecycleEvents(AppLifecycle =>            {#if ANDROID                AppLifecycle.AddAndroid(android => android                   .OnBackPressed((activity) => BackPressed()));#endif            });        return builder.Build();    }    static bool BackPressed()    {        return true;    }

iOS

目前,有以下 10 个特定于 iOS 平台的事件可用:

  • ContinueUserActivity

  • DidEnterBackground

  • FinishedLaunching

  • OnActivated

  • OnResignActivation

  • OpenUrl

  • PerforMactionForShortcutItem

  • WillEnterForeground

  • WillFinishLaunching

  • WillTerminate

您可以使用编译器指令通过 AddiOS() 扩展方法调用特定于 iOS 平台的事件。
请参阅下面的代码示例。在这里,我们将调用 WillEnterForeground 事件,该事件将在应用处于焦点模式时引发。

public static MauiApp CreateMauiApp(){  var builder = MauiApp.CreateBuilder();  builder.UseMauiApp<App>()  builder.ConfigureLifecycleEvents(AppLifecycle => {      #if IOS       AppLifecycle.AddiOS(ios => ios          .WillEnterForeground((app) => EnteredForeground())       );      #endif  });  return builder.Build();}static void EnterForeground(){}

windows

目前,以下 8 个特定于 Windows 平台的事件可用:

  • OnActivated

  • OnClosed

  • OnLaunched

  • OnLaunching

  • OnNativeMessage

  • OnResumed

  • OnVisibilityChanged

  • OnWindowCreated

您可以使用编译器指令通过 AddWindows() 扩展方法来调用特定于 Windows 平台的事件。
请参阅下面的代码示例。在这里,我们将调用 OnNativeMessage 事件来访问应用程序实例并删除标题栏。

public static MauiApp CreateMauiApp(){  var builder = MauiApp.CreateBuilder();  builder.UseMauiApp<App>()  builder.ConfigureLifecycleEvents(AppLifecycle => {      #if WINDOWS        AppLifecycle         .AddWindows(windows =>           windows.OnNativeMessage((app, args) => {             app.ExtendsContentIntoTitleBar = false;           }));      #endif  });  return builder.Build();}

关于不同平台的生命周期事件定义位置: Core > LifecycleEvents

在.NET MAUI应用中怎么配置应用生命周期事件

感谢你能够认真阅读完这篇文章,希望小编分享的“在.NET MAUI应用中怎么配置应用生命周期事件”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 在.NET MAUI应用中怎么配置应用生命周期事件

本文链接: https://lsjlt.com/news/325834.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在.NET MAUI应用中配置应用生命周期事件
    目录前言应用程序生命周期跨平台生命周期如何配置生命周期事件特定于平台的生命周期事件AndroidIOSWindows参考前言 管理应用生命周期事件是开发应用程序时最常见的要求之一。同...
    99+
    2024-04-02
  • 在.NET MAUI应用中怎么配置应用生命周期事件
    这篇文章主要介绍了在.NET MAUI应用中怎么配置应用生命周期事件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。应用程序生命周期通常,应用具有不同的生命周期或状态...
    99+
    2023-06-29
  • Android应用的生命周期是什么
    Android应用的生命周期主要包括以下几个状态: 启动状态(Not Running):应用未启动或已被系统杀死。 暂停状态...
    99+
    2024-04-03
    Android
  • vue的生命周期钩子函数怎么应用
    本篇内容介绍了“vue的生命周期钩子函数怎么应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在vue中,生命周期钩子函数指的是当生命周期经...
    99+
    2023-06-29
  • Maven中配置文件、生命周期、常用命令的示例分析
    小编给大家分享一下Maven中配置文件、生命周期、常用命令的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!当前,JVM生态圈主要的三大构建工具:Apache Ant(带着Ivy)MavenGradle对于初学者,A...
    99+
    2023-05-30
    maven
  • C++变量存储的生命周期与作用域怎么应用
    这篇文章主要介绍“C++变量存储的生命周期与作用域怎么应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++变量存储的生命周期与作用域怎么应用”文章能帮助大家解决问题。auto类型:非静态的局部变...
    99+
    2023-07-04
  • 怎样看待ASP.NET应用程序与页面生命周期
    怎样看待ASP.NET应用程序与页面生命周期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们将了解不同的事件,ASP.NET 应用程序的生命周期以浏览器向 Web 服务器(对...
    99+
    2023-06-17
  • DevOps在增强软件开发生命周期中的作用
    devops是一种方法论,结合了无缝集成软件开发和it 运营用于简化工作流程,devops强调改善沟通、促进团队合作和团结软件交付团队,是响应速度更快、同步性更强的开发过程的触发器,帮助...
    99+
    2024-02-04
    devops devops集成 devops实践 质数
  • 实例讲解Android应用开发中Fragment生命周期的控制
    一、Fragment的生命周期初探 因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。 如果Acti...
    99+
    2022-06-06
    fragment生命周期 fragment Android
  • Python中怎么应用配置文件
    这期内容当中小编将会给大家带来有关Python中怎么应用配置文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在pyth...
    99+
    2023-06-17
  • Nginx中怎么配置Web应用
    在Nginx中配置Web应用通常涉及到设置虚拟主机(server block),以下是配置Web应用的基本步骤: 编辑Nginx...
    99+
    2024-04-03
    Nginx
  • VB.NET事件在实际应用中有什么用
    这篇文章主要介绍了VB.NET事件在实际应用中有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET中的类的构造函数是sub New()  &...
    99+
    2023-06-17
  • vuejs中怎么响应用户事件
    vuejs中怎么响应用户事件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需求:页面上的列表原先有3个,我们想点击一次添加一条记录,也可以...
    99+
    2024-04-02
  • Java 生命周期中封装和继承的应用:深入理解对象创建和销毁
    封装在 Java 生命周期中的应用 对象创建:通过构造方法实例化对象时,对象的内部状态被初始化并隐藏。 对象访问:通过 getter 和 setter 方法获取或修改对象的属性,而无需直接访问其内部数据。 对象销毁:当对象不再需要时,它...
    99+
    2024-04-02
  • Html5中hashchange、pageshow和pagehide事件怎么应用
    本篇内容主要讲解“Html5中hashchange、pageshow和pagehide事件怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Html5中ha...
    99+
    2024-04-02
  • Flex应用程序中事件和行为怎么用
    小编给大家分享一下Flex应用程序中事件和行为怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flex应用程序中事件和行为的使用HTML应用程序的原理是由客户...
    99+
    2023-06-17
  • SQL拼接在报表生成中怎么应用
    在报表生成过程中,SQL拼接通常用于动态生成查询语句,以满足用户需求或者报表的特定要求。下面是SQL拼接在报表生成中的一些应用场景:...
    99+
    2024-04-29
    SQL
  • 怎么在Android应用中利用ListView实现一个监听滑动事件
    怎么在Android应用中利用ListView实现一个监听滑动事件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ListView的主要有两种滑动事件监听方法,OnTouchLi...
    99+
    2023-05-31
    listview android roi
  • apk文件怎么在Android应用中安装
    apk文件怎么在Android应用中安装?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android安装apk文件并适配Android 7.0详解首先在AndroidMan...
    99+
    2023-05-31
    android apk roi
  • Excel文件怎么在Android应用中读取
    这篇文章给大家介绍Excel文件怎么在Android应用中读取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。初始化变量:InputStream inputStream = null;//输入流FileOutputStr...
    99+
    2023-05-31
    android excel roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作