Пример #1
0
        public void Notify(string FilesProgress, string FileName, double DataProgress, Classes.TransferState.State State)
        {
            var toastNotifier = ToastNotificationManager.CreateToastNotifier();

            if (Notification == null)
            {
                ToastContent = new ToastContent()
                {
                    Visual = new ToastVisual()
                    {
                        BindingGeneric = new ToastBindingGeneric()
                        {
                            AppLogoOverride = new ToastGenericAppLogo()
                            {
                                Source   = "xamarin_logo.png",
                                HintCrop = ToastGenericAppLogoCrop.Circle
                            },

                            Children =
                            {
                                new AdaptiveText()
                                {
                                    Text         = State.ToString(),
                                    HintMaxLines = 1
                                },

                                new AdaptiveProgressBar()
                                {
                                    Title  = new BindableString("FileName"),
                                    Value  = new BindableProgressBarValue("DataProgress"),
                                    Status = new BindableString("status"),
                                    ValueStringOverride = new BindableString("FilesProgress")
                                }
                            }
                        }
                    }
                };
                Notification = new ToastNotification(ToastContent.GetXml())
                {
                    Priority = ToastNotificationPriority.High,
                    Tag      = NotificationTag,
                    Group    = NotificationGroup
                };
                Notification.Dismissed += Dismiss;
                Notification.Data       = new NotificationData();
                Notification.Data.Values["FilesProgress"] = FilesProgress;
                Notification.Data.Values["FileName"]      = FileName;
                Notification.Data.Values["DataProgress"]  = DataProgress.ToString();
                Notification.Data.Values["status"]        = State.ToString();
                Notification.Data.SequenceNumber          = 0;
                toastNotifier.Show(Notification);
            }
            else
            {
                Notification.Data.Values["FilesProgress"] = FilesProgress;
                Notification.Data.Values["FileName"]      = FileName;
                Notification.Data.Values["DataProgress"]  = DataProgress.ToString();
                Notification.Data.Values["status"]        = State.ToString();
                toastNotifier.Update(Notification.Data, NotificationTag, NotificationGroup);
            }
        }
Пример #2
0
        public void Notify(string FilesProgress, string FileName, double DataProgress, Classes.TransferState.State State)
        {
            var builder = new NotificationCompat.Builder(Application.Context, "ID");

            builder.SetProgress(1000, (int)(DataProgress * 1000), false)
            .SetPriority(NotificationCompat.PriorityMax)
            .SetContentText(FileName)
            .SetSubText(State.ToString() + " • " + FilesProgress)
            .SetSmallIcon(Resource.Drawable.xamarin_logo)
            .SetOnlyAlertOnce(true);
            NotificationManager notificationManager = NotificationManager.FromContext(Application.Context);
            var notification = builder.Build();

            notification.Flags |= NotificationFlags.NoClear;
            notificationManager.Notify(5475, notification);
        }