【发布时间】:2021-03-03 20:40:16
【问题描述】:
在我的颤振应用程序中,我试图每分钟在后台运行一个函数。我使用了 android 警报管理器插件,当调用 AndroidAlarmManager.periodic 函数时,每分钟都会正确触发 1 分钟间隔警报。但有时函数会在随机延迟后运行。
输出:
I/flutter ( 4130): Alarm Fired at: 16:0:0
I/flutter ( 4130): Alarm Fired at: 16:1:20
I/flutter ( 4130): Alarm Fired at: 16:2:0
I/flutter ( 4130): Alarm Fired at: 16:3:0
I/flutter ( 4130): Alarm Fired at: 16:4:0
I/flutter ( 4130): Alarm Fired at: 16:5:0
I/flutter ( 4130): Alarm Fired at: 16:6:40
I/flutter ( 4130): Alarm Fired at: 16:7:0
I/flutter ( 4130): Alarm Fired at: 16:8:0
I/flutter ( 4130): Alarm Fired at: 16:9:20
I/flutter ( 4130): Alarm Fired at: 16:10:0
I/flutter ( 4130): Alarm Fired at: 16:11:0
I/flutter ( 4130): Alarm Fired at: 16:12:0
我正在使用警报管理器插件版本 0.4.5+17
我尝试将间隔时间增加到 5 分钟和 10 分钟,但仍然出现同样的问题。
我的代码:
void alarmCallback() {
print(
'Alarm Fired at: ${DateTime.now().hour}:${DateTime.now().minute}:${DateTime.now().second}');
}
void main() async {
runApp(MyApp());
await AndroidAlarmManager.initialize();
final int alarmId = 1;
await AndroidAlarmManager.periodic(
Duration(minutes: 1),
alarmId,
alarmCallback,
exact: true,
);
}
【问题讨论】:
标签: android flutter dart alarmmanager