static PendingIntent CreateContentOrDeleteIntent(string action, IPlatformNotificationBuilder builder, ToastId toastId)
        {
            var intent = new Intent(action);

            toastId.ToIntent(intent);
            builder.AddCustomArgsTo(intent);

            var result = PendingIntent.GetBroadcast(Application.Context, toastId.GetPersistentHashCode(), intent, 0)
                         ?? throw new InvalidOperationException(ErrorStrings.KBroadcastError);

            return(result);
        }
        PendingIntent CreateLaunchIntent(IPlatformNotificationBuilder builder, ToastId toastId)
        {
            var packageManager = Application.Context.PackageManager;
            var intent         = packageManager?.GetLaunchIntentForPackage(options.PackageName);

            if (intent == null)
            {
                throw new InvalidOperationException("can't get launch intent");
            }
            intent.AddFlags(ActivityFlags.NewTask | ActivityFlags.ClearTop);
            toastId.ToIntent(intent);
            builder.AddCustomArgsTo(intent);
            var result = PendingIntent.GetActivity(Application.Context, toastId.GetPersistentHashCode(), intent, PendingIntentFlags.UpdateCurrent)
                         ?? throw new InvalidOperationException(ErrorStrings.KBroadcastError);

            return(result);
        }