当前位置: 首页 > 知识库问答 >
问题:

在后台同步flutter应用程序到服务器的数据

巩光誉
2023-03-14
await AndroidAlarmManager.oneShot(Duration(minutes: 5), MY_ID, syncFn, exact: true, allowWhileIdle: true);
static void syncFn() async {
    try{
      // send confirmation that app is running to my server
      await BackgrdoundService().sync();
    } catch (err) {
      print(err);
    } finally {
      await AndroidAlarmManager.oneShot(Duration(minutes: 5), MY_ID, syncFn, exact: true, allowWhileIdle: true);
    }
  }

感谢您的阅读和帮助!

共有1个答案

洪飞龙
2023-03-14

首先,您需要检查您的后台服务没有在哪里运行,或者警报管理器没有触发。前添加日志

await BackgrdoundService().sync();

因为Android可能会限制后台服务。有关更多信息,请查看此链接https://developer.android.com/about/versions/oreo/background

其次,最好使用WorkManager而不是AlarmManager,因为Android不推荐使用它。

 类似资料:
  • 问题内容: 每当用户断开手机通话时,我都希望显示自定义弹出消息。问题是如何检测应用程序何时未运行。任何线索都将有所帮助。 问题答案: 已经有一段时间了,并且已经有了很多发展。 首先,如何在Flutter中创建服务以使应用程序始终在后台运行有一些答案? 此外,使用Flutter插件和地理围栏(在2018年9月),Flutter / Background流程 基本上将使您指向在后台执行中等/执行Dar

  • 我是初学扑动的。我的flutter应用程序在kotlin上有一个原生的android后台服务,在那里我有一个套接字在运行,每当套接字侦听一些东西时,我就会使用notificationcompat.builder生成一个通知。 但当用户点击通知时,我无法将Flutter应用程序带回前台。 我尝试创建一个pendingintent并将其传递给notificationbuilder setContent

  • 我想创建一个应用程序,它始终在后台运行,并在每15分钟从服务器获取数据。如何在我的APP中实现这个后台服务?

  • 问题内容: 我正在从服务器向我的应用发送fcm通知。 我正在从包含user_id的服务器发送数据。如果应用程序在前台,我将在FirebaseMessageService类中获取此userId。但是当应用程序在后台运行时却无法获取。由于FirebaseMessagingService类仅在应用程序处于前台时才执行。 那么当应用程序在后台运行时,如何获取此ID? 编辑: 我正在使用仍然处于onMess

  • 我正在从服务器向我的应用程序发送fcm通知。 我正在从包含user\u id的服务器发送数据。若应用程序位于前台,我将在FirebaseMessageService类中获取此用户ID。但当应用程序在后台时无法获取。因为FirebaseMessagingService类只有在应用程序位于前台时才能执行。 那么当应用程序在后台时,如何获取此ID呢? 编辑: 当应用程序在后台时,我使用的数据负载仍然是M

  • 背景资料 我有一个。NET Core 3.1控制台应用程序,这是一个长时间运行的进程。基本上,一些逻辑运行在一个无限循环中,每个循环都有一个延迟。 我目前正在使用Visual Studio将此应用程序打包到docker容器中,然后部署到Azure中的Linux应用程序服务。这一切都有效。我能够将docker容器发布到Azure容器注册表,然后将我的Linux应用程序服务指向该容器。容器成功启动,我