Flutter 如何在后台运行颤振方法?
我试图连续调用该方法,但当我锁定手机屏幕或按home按钮时,该方法不会再次被调用。因此,请建议如何在后台运行该方法。您必须使用以下插件 您还可以尝试其他类似的插件Flutter 如何在后台运行颤振方法?,flutter,dart,methods,background,Flutter,Dart,Methods,Background,我试图连续调用该方法,但当我锁定手机屏幕或按home按钮时,该方法不会再次被调用。因此,请建议如何在后台运行该方法。您必须使用以下插件 您还可以尝试其他类似的插件 “Background Fetch是一个非常简单的插件,大约每15分钟在后台唤醒一个应用程序,提供一段短时间的后台运行时间。每当发生后台Fetch事件时,该插件将执行您提供的callbackFn。”您将使用Fatter为android应用程序使用android alarm manager 正如您所看到的,这很简单,您只需要创建一个函
“Background Fetch是一个非常简单的插件,大约每15分钟在后台唤醒一个应用程序,提供一段短时间的后台运行时间。每当发生后台Fetch事件时,该插件将执行您提供的callbackFn。”您将使用Fatter为android应用程序使用android alarm manager 正如您所看到的,这很简单,您只需要创建一个函数并使用AndroidAlarmManager.periodic调用它,记住在您的android清单上添加权限 如果你需要Android和iOS的解决方案,你可以使用平台频道
您可以使用平台频道从android和iOS调用本机代码,例如,您可以创建本机后台服务并从Flatter调用。谢谢您的回复。我已经尝试过这个插件。但我在安装此插件后出现此错误。错误是:无法确定任务“:app:processDebugResources”的依赖项。“>无法解析配置“”的所有任务依赖项:应用程序:debugRuntimeClasspath。“>找不到com.transistorsoft:tsbackgroundfetch:+的任何匹配项,因为没有可用的com.transistorsoft:tsbackgroundfetch版本。在以下位置搜索:-以上是我在运行应用程序时遇到的错误,我有相同的问题
import 'package:android_alarm_manager/android_alarm_manager.dart';
void printHello() {
final DateTime now = DateTime.now();
final int isolateId = Isolate.current.hashCode;
print("[$now] Hello, world! isolate=${isolateId} function='$printHello'");
}
main() async {
final int helloAlarmID = 0;
await AndroidAlarmManager.initialize();
runApp(...);
await AndroidAlarmManager.periodic(const Duration(minutes: 1), helloAlarmID, printHello);
}