/
AppHostBuilderExtensions.Android.cs
36 lines (32 loc) · 1.24 KB
/
AppHostBuilderExtensions.Android.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using Microsoft.Maui.LifecycleEvents;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
namespace Microsoft.Maui.Controls.Hosting
{
public static partial class AppHostBuilderExtensions
{
internal static IAppHostBuilder ConfigureCompatibilityLifecycleEvents(this IAppHostBuilder builder) =>
builder.ConfigureLifecycleEvents(events => events.AddAndroid(OnConfigureLifeCycle));
static void OnConfigureLifeCycle(IAndroidLifecycleBuilder android)
{
android
.OnApplicationCreating((app) =>
{
// This is the initial Init to set up any system services registered by
// Forms.Init(). This happens in the Application's OnCreate - before
// any UI has appeared.
// This creates a dummy MauiContext that wraps the Application.
var services = MauiApplication.Current.Services;
var mauiContext = new MauiContext(services, app);
var state = new ActivationState(mauiContext);
Forms.Init(state, new InitializationOptions { Flags = InitializationFlags.SkipRenderers });
})
.OnMauiContextCreated((mauiContext) =>
{
// This is the final Init that sets up the real context from the activity.
var state = new ActivationState(mauiContext);
Forms.Init(state);
});
}
}
}