Как показать индикатор выполнения в формах xamarin - PullRequest
2 голосов
/ 10 октября 2019

Я использую формы xamarin, и я наткнулся на этот плагин https://github.com/thudugala/Plugin.LocalNotification, чтобы показывать уведомления пользователю. Но как индикатор выполнения отображается в области уведомлений? Я не могу найти пример того, как это делается.

Это код, который я использую для отправки уведомления

         CrossLocalNotifications.Current.Show("title", "body");

Существует ли кроссплатформенное решение, как в приведенном выше примере? Или правильная реализация с использованием Dependency Services?

1 Ответ

0 голосов
/ 10 октября 2019

То, что вы пытаетесь достичь, невозможно с помощью локального плагина уведомлений. Однако расширение библиотеки может быть довольно простым, чтобы добавить дополнительный аргумент для данных прогресса, отображаемых на индикаторе выполнения.

По сути, вам просто нужно передать два дополнительных значения из построителя уведомлений, вызвав SetProgress(int max, int progress, bool intermediate) метод. Это лучше всего объяснить в документации Google по Android здесь .

Метод, которым вы должны добавить вызов к SetProgress(), это ShowNow() в специфическом для Android классе / Платформа / Droid / NotificationServiceImpl.cs . Конечно, вам также необходимо внести изменения в другом месте, чтобы вы могли предоставить значения max и progress из кросс-платформенного кода.

Если приведенное выше решение кажется слишкомсложный и вы не используете плагин широко, возможно, вы можете просто создать уведомления самостоятельно в проекте Android и выполнить этот код с помощью службы зависимостей.


Редактировать: Iудалил ссылку Google Книги, которая, кажется, не работает для всех. Вместо этого здесь - это статья из Microsoft Docs, в которой подробно описывается, как можно создавать локальные уведомления. Единственная дополнительная вещь, которая отсутствует в руководствах - это метод SetProgress, который необходим для отображения индикатора выполнения.

Также обратите внимание, что вам нужно отправлять уведомление снова и снова, чтобы отображать прогресс в индикаторе выполнения. Проверьте третий ответ (от Cheesebaron) на этой теме на форумах Xamarin для краткого объяснения и фрагментов кода о том, как это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...