Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在后台运行颤振方法?_Flutter_Dart_Methods_Background - Fatal编程技术网

Flutter 如何在后台运行颤振方法?

Flutter 如何在后台运行颤振方法?,flutter,dart,methods,background,Flutter,Dart,Methods,Background,我试图连续调用该方法,但当我锁定手机屏幕或按home按钮时,该方法不会再次被调用。因此,请建议如何在后台运行该方法。您必须使用以下插件 您还可以尝试其他类似的插件 “Background Fetch是一个非常简单的插件,大约每15分钟在后台唤醒一个应用程序,提供一段短时间的后台运行时间。每当发生后台Fetch事件时,该插件将执行您提供的callbackFn。”您将使用Fatter为android应用程序使用android alarm manager 正如您所看到的,这很简单,您只需要创建一个函

我试图连续调用该方法,但当我锁定手机屏幕或按home按钮时,该方法不会再次被调用。因此,请建议如何在后台运行该方法。

您必须使用以下插件

您还可以尝试其他类似的插件


“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);
}