定时器在背景颤振中不起作用
Timer is not worked in background flutter
当应用程序在 iOS 中进入后台时,不会打印此代码。
Timer.periodic(Duration(seconds: 1), (timer) { print('timer'); }
我需要将状态保存到数据库并在完成计时器后播放声音。但定时器计数器最小值为 1 分钟。所以这意味着至少 1 分钟后计时器将完成。该值将由用户设置。在此间隔期间,设备可能会被锁定。即使设备被锁定,应用程序也必须在完成定时器后保存状态。
运行 后台的 dart 代码不是一件容易的事。你可以阅读这个:
https://docs.flutter.dev/development/packages-and-plugins/background-processes
或者可以查看这个插件:
https://pub.dev/packages/flutter_background_service
在iOS应用程序中,使用flutter_background_service后,只有当应用程序进入后台播放音频时,计时器才会工作。所以在这种情况下,计时器必须与播放音频并行工作。不播放音频,定时器不在后台工作。因此,我尝试破解它。当定时器启动时,我以循环模式播放静音音频。我用一个多小时的计时器滴答调试它。这很完美。
为此我没有使用任何包。我只是启用背景模式并在背景模式下播放来自 Xcode:
的音频
我从 here.
收到静音
当应用程序在 iOS 中进入后台时,不会打印此代码。
Timer.periodic(Duration(seconds: 1), (timer) { print('timer'); }
我需要将状态保存到数据库并在完成计时器后播放声音。但定时器计数器最小值为 1 分钟。所以这意味着至少 1 分钟后计时器将完成。该值将由用户设置。在此间隔期间,设备可能会被锁定。即使设备被锁定,应用程序也必须在完成定时器后保存状态。
运行 后台的 dart 代码不是一件容易的事。你可以阅读这个: https://docs.flutter.dev/development/packages-and-plugins/background-processes
或者可以查看这个插件: https://pub.dev/packages/flutter_background_service
在iOS应用程序中,使用flutter_background_service后,只有当应用程序进入后台播放音频时,计时器才会工作。所以在这种情况下,计时器必须与播放音频并行工作。不播放音频,定时器不在后台工作。因此,我尝试破解它。当定时器启动时,我以循环模式播放静音音频。我用一个多小时的计时器滴答调试它。这很完美。
为此我没有使用任何包。我只是启用背景模式并在背景模式下播放来自 Xcode:
的音频我从 here.
收到静音