如何在Flutter中安排一个特定时间的闹钟?

7
在我的Flutter项目中,我希望能够在一天的特定时间安排一个闹钟,或者只是在那个特定时间触发手机内置的闹钟。为此,我已经集成了一个来自Flutter的插件-

https://pub.dev/packages/android_alarm_manager#-example-tab-

然后我按照文档中给出的示例,在Android Manifest文件中添加了所有权限。

运行项目后,显示如下-

enter image description here

它显示一个按钮来设置一个闹钟,但实际上只是更新了文本。并没有像我想要的那样设置任何闹钟,我不知道这个项目到底怎么了。
因此,我需要一个解决方案-我需要做哪些更改才能按照我设定的固定时间表设置该闹钟,并且在后台工作,因为我希望这个闹钟在我将其从内存中移除时仍然可以工作。 任何示例代码、完整文档或项目示例都将有助于回答这个问题。
1个回答

5
您需要将一些东西组合在一起。您需要运行后台进程并从那里开始播放声音。 我建议您深入了解有关此主题的Flutter文档:
https://flutter.dev/docs/development/packages-and-plugins/background-processes

这里有一些可能有用的软件包:


你好@Rod,感谢你的帮助。如果你不介意,我想问一个小问题。为什么我需要从后台进程播放声音?使用后台进程包不足以实现吗?谢谢。 - Ahmad Almosallam
1
嗨,@AhmadAlmosallam。后台进程只在应用程序打开时运行。它是一种称为隔离的并行处理,但它可以独立于应用程序运行。background_fetch允许应用程序运行一些预定的dart代码。你需要它们两个:一个将安排代码在应用程序关闭时运行,另一个将有效地实现你想要的功能(播放声音)。 - Rod
感谢@Rod的回复。好的,我理解你的意思。 让我们看另一个情况,假设我需要每天发送5次通知,并且为了安排这些通知,需要一个函数来计算每个通知触发的时间,这个函数在每天晚上12:00 AM运行。 - Ahmad Almosallam
@AhmadAlmosallam 你需要使用background_fetch来调度“scheduler”函数。 “scheduler”函数需要运行一个后台进程来安排5个通知。但是,你的问题还有另一种解决方案。Android和IOS以不同的方式处理计划进程,并且它们都有每日计划(如每日闹钟)的方法。你应该查看文档。 - Rod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接