using Android; using Android.App; using Android.Content; using Android.Content.PM; using Android.OS; using AndroidX.Core.App; using AndroidX.Core.Content; namespace HybridApp { [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] public class MainActivity : MauiAppCompatActivity { internal static readonly string Channel_ID = "TestChannel"; internal static readonly int NotificationID = 101; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); if (ContextCompat.CheckSelfPermission(this, Android.Manifest.Permission.PostNotifications) == Permission.Denied) { ActivityCompat.RequestPermissions(this, new String[] { Android.Manifest.Permission.PostNotifications }, 1); } CreateNotificationChannel(); } protected override void OnNewIntent(Intent intent) { base.OnNewIntent(intent); if (intent.Extras != null) { foreach (var key in intent.Extras.KeySet()) { if (key == "NavigationID") { string idValue = intent.Extras.GetString(key); if (Preferences.ContainsKey("NavigationID")) Preferences.Remove("NavigationID"); Preferences.Set("NavigationID", idValue); } } } } private void CreateNotificationChannel() { if (OperatingSystem.IsOSPlatformVersionAtLeast("android", 26)) { var channel = new NotificationChannel(Channel_ID, "Test Notification Channel", NotificationImportance.Default); var notificationManager = (NotificationManager)GetSystemService(Android.Content.Context.NotificationService); notificationManager.CreateNotificationChannel(channel); } } } }