首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振--如何在特定时间运行进程,即使应用程序处于后台(如警报应用程序)

颤振--如何在特定时间运行进程,即使应用程序处于后台(如警报应用程序)
EN

Stack Overflow用户
提问于 2021-12-21 13:51:50
回答 1查看 1.2K关注 0票数 1

我是在日本使用颤振的软件工程师。

开发一个闹钟应用程序,它能在早上叫醒我,并且在执行以下内容时遇到了困难。

如果你能帮我,我会很感激的。

问题.

我想知道是否有一种方式来执行一个特定的进程在一个预定的时间,即使应用程序被杀死或backGround。

Details

我目前正在开发一个报警应用程序,在指定的时间发送本地通知&定制音乐。

我能够安排本地通知在指定的时间发送。

但是,我无法找到在后台同时运行特定进程的方法。

(这是一个播放用户选择的特定音乐的过程的图像)

我发现了什么,

确认可以使用通知在指定的日期和每周指定的时间发送通知。

(执行flutterLocalNotificationsPlugin#zonedSchedule())

但是,在flutter_local_notifications中,不存在侦听器来接收通知本身。

(有一个onSelectNotification,但是它不能工作直到用户点击通知栏。)

图书馆的作者说没有侦听器可以触发这样的通知时间,

因此,我决定只在这个库中使用本地通知,并寻找另一个库来替换后台处理。

通知/问题/1201

我发现获取WorkManager特别有用,但我也放弃了使用这些库。

原因是,由于iOS的限制,两个库只能在15分钟内执行,如下所示,而且我怀疑进程不能在预定的时间内执行。

workManagaer

https://pub.dev/packages/workmanager#customisation-android-only

代码语言:javascript
复制
// Periodic task registration
Workmanager().registerPeriodicTask(
    "2", 
    "simplePeriodicTask", 
    // When no frequency is provided the default 15 minutes is set.
    // Minimum frequency is 15 min. Android will automatically change your frequency to 15 min if you have configured a lower frequency.
    If you have configured a lower frequency. frequency: Duration(hours: 1),
)

background_fetch

代码语言:javascript
复制
Background Fetch is a very simple plugin which will awaken an app in the background about every 15 minutes, providing a short period of background running-time. This plugin will execute your provided callbackFn whenever a background-fetch event occurs.

我认为唯一的方法是使用MethodChannel为每个操作系统编写和执行本机代码。

我想知道是否有一种方法可以在指定的时间执行预定的进程,即使应用程序处于杀死状态或处于颤振状态,即使它使用MethodChannel。

抱歉太久了。请让我知道。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2021-12-21 14:08:03

唯一为后台过程提供的文档(警报是引用的例子之一)指出了关于媒体的一篇文章:https://docs.flutter.dev/development/packages-and-plugins/background-processes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70436554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档