protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); Bootstrap.Begin(() => new DeviceInstallationService()); if (DeviceInstallationService.NotificationsSupported) { FirebaseInstanceId.GetInstance(Firebase.FirebaseApp.Instance) .GetInstanceId() .AddOnSuccessListener(this); } Xamarin.Essentials.Platform.Init(this, savedInstanceState); Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); CreateNotificationChannel(); if (!ShortcutBadger.IsBadgeCounterSupported(this)) { Console.WriteLine("Pay attention: badge counter not supported"); } }
private void RemoveBadgeCounterOnOlderPlatforms() { bool isLowerVersion = Build.VERSION.SdkInt < BuildVersionCodes.O; bool isBadgeCounterSupported = ShortcutBadger.IsBadgeCounterSupported(ApplicationContext); // Use Plugin for badges on older platforms that support them if (isLowerVersion && isBadgeCounterSupported) { ShortcutBadger.RemoveCount(ApplicationContext); } }
public override void OnCreate() { base.OnCreate(); if (ShortcutBadger.IsBadgeCounterSupported(this)) { if (MainActivity.isActivityActive) { badgeCount = 0; } else { badgeCount += 1; } ShortcutBadger.ApplyCount(this, badgeCount); } }
public Notification CreateNotification(NotificationViewModel notificationViewModel) { PendingIntent resultPendingIntent = InitResultIntentBasingOnViewModel(notificationViewModel); NotificationCompat.Builder builder = new NotificationCompat.Builder(NotificationContext, _channelId) .SetAutoCancel(true) // Dismiss the notification from the notification area when the user clicks on it .SetContentTitle(notificationViewModel.Title) // Set the title .SetContentText(notificationViewModel.Body) // the message to display. .SetContentIntent(resultPendingIntent) // Start up this activity when the user clicks the intent. .SetVibrate(null) .SetSound(null) .SetNumber(1) .SetCategory(NotificationCompat.CategoryMessage) .SetOnlyAlertOnce(true); // This is the icon to display if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { builder.SetColor(Resource.Color.colorPrimary); } builder.SetSmallIcon(Resource.Drawable.ic_notification); Notification notification = builder.Build(); bool isLowerVersion = Build.VERSION.SdkInt < BuildVersionCodes.O; bool isBadgeCounterSupported = ShortcutBadger.IsBadgeCounterSupported(NotificationContext); bool isMessage = notificationViewModel.Type == NotificationsEnum.NewMessageReceived; bool areNotificationsEnabled = NotificationManagerCompat.From(NotificationContext).AreNotificationsEnabled(); // Use Plugin for badges on older platforms that support them if (isLowerVersion && isBadgeCounterSupported && isMessage && areNotificationsEnabled) { ShortcutBadger.ApplyNotification(NotificationContext, notification, 1); } return(notification); }