【发布时间】:2023-01-23 16:32:49
【问题描述】:
我对 Flutter 很陌生,正在尝试使用 Android 实现一个简单的警报应用程序报警管理器增强包.下面是文档中的示例代码,看起来很相似。我的应用程序成功安排并触发了多个警报,但我找不到取消触发警报的好方法。
static void printHello() {
final DateTime now = DateTime.now();
final int isolateId = Isolate.current.hashCode;
print("[$now] Hello, world! isolate=${isolateId} function='$printHello'");
}
main() async {
// Be sure to add this line if initialize() call happens before runApp()
WidgetsFlutterBinding.ensureInitialized();
await AndroidAlarmManager.initialize();
runApp(...);
final int helloAlarmID = 0;
await AndroidAlarmManager.periodic(const Duration(minutes: 1), helloAlarmID, printHello);
}
我想写一个类似这样的函数:
cancel = await AndroidAlarmManager.cancel(id);
但是我如何获得ID?我将所有预定的警报及其 ID 保存到列表中。我是否应该简单地假设,如果我按时间对列表进行排序,列表中的下一个是活动警报,还是有更好的方法?
【问题讨论】:
标签: flutter alarmmanager