首页 > 解决方案 > 如何在 xamarin 表单中显示进度条通知

问题描述

我正在使用 xamarin 表单,我遇到了这个插件https://github.com/thudugala/Plugin.LocalNotification以便向用户显示通知。但是如何在通知区域显示进度条呢?我找不到如何做到这一点的例子。

这是我用于发送通知的代码

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

上面的例子有跨平台解决方案吗?还是使用依赖服务的正确实现?

标签: c#xamarinxamarin.formsxamarin.android

解决方案


本地通知插件无法实现您想要实现的目标。但是,扩展库为进度条上显示的进度数据添加一个额外的参数应该是相当简单的。

基本上,您只需要通过调用SetProgress(int max, int progress, bool intermediate)方法从 Notification Builder 传递两个附加值。这在 Google 的 Android 文档中得到了最好的解释

您应该添加调用的方法SetProgress() 是ShowNow()在 Android 特定类/Platform/Droid/NotificationServiceImpl.cs中。当然,您还需要在其他地方进行更改,以便您可以从跨平台代码中提供最大值进度值。

如果上述解决方案看起来太复杂并且您没有广泛使用该插件,也许您可​​以自己在 Android 项目中构建通知并使用依赖服务执行该代码。


编辑:我删除了似乎并不适合所有人的 Google 图书链接。相反,这里有一篇来自 Microsoft Docs 的文章,详细介绍了如何创建本地通知。guies 中唯一缺少的附加内容是显示进度条所需的 SetProgress 方法。

另外,请注意您需要一次又一次地提交通知以在进度条中显示进度。检查 Xamarin 论坛中此线程上的第三个回复(来自 Cheesebaron),以获取有关其工作原理的简短说明和一些代码。


推荐阅读