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); }