【问题标题】:Foreground service example in FlutterFlutter 中的前台服务示例
【发布时间】:2019-11-13 17:17:43
【问题描述】:

我是 Flutter 的新手。任何人都可以发布“带有通知的android前台服务示例”的链接或代码吗?我用谷歌搜索,但没有得到任何前台服务的好例子。

我正在处理一个包含 SMS 包的项目。此应用程序必须在前台处于活动状态。

【问题讨论】:

  • 只需使用Context.startForegroundService
  • 谢谢,你能给我举个例子吗?我正在寻找颤振的例子。

标签: android flutter dart foreground


【解决方案1】:

更新:

我为 Flutter 创建了自己的 Android 前台服务实现,名为 android_long_task。看看它解决了我的问题。让我知道它是否通过提出问题解决了您的问题。我创建了自己的库,因为我提到的教程只是展示了如何在 java 中创建前台服务,仅此而已,正如您现在发现的那样,其他 foregorund_service 插件有一些问题。

旧答案(对我没有帮助):

如果您对此有疑问,并且其他答案中提到的库都不适合您。您可能想尝试一下来自 RetroPortal Studio 的 tutorial。总共26分钟,教你如何为flutter android写一个工作的foreground service

【讨论】:

  • RetroPortal 教程有什么问题?值得一看吗?
  • @Ian 我希望我的飞镖代码在前台服务中运行。基本上,该视频只是告诉您如何在 Java 中创建前台服务,仅此而已。我自己创建了一个插件,你可以简单地运行你的飞镖代码。阅读文档。值得你花时间
  • 非常感谢您的回复。我需要一种方法来保证某些代码定期运行。我目前正在使用 Workmanager 并禁用电池优化,虽然它似乎对我有用,但我认为这并不总是可靠的,AlarmManager 也不是。您的 pub.dev 前台服务包是否适合启动某种计时器驱动任务?
  • 前台服务用于运行长时间运行的任务。这就是为什么我将它命名为 android long task。或不停地运行任务。现在您可以不间断地运行前台服务。并让您的代码定期运行。如果是这种情况, android_long_task 将为您工作。或者您可以使用警报管理器启动foreground_service 来运行长时间运行的任务。
  • 昨晚我开始玩你的项目。我没有足够的 Android 内部知识来弄清楚它是如何在引擎盖下工作的,但在外部它看起来相当不错,尽管我还没有针对 Doze 模式 irl 测试它。我还就此提出了一个问题,因此如果您愿意,我们可以在那里讨论一些关于如何使它变得不可阻挡的想法?
【解决方案2】:

Pauldemarco 为颤振创建了一些优秀的颤振包。他也为前台服务开发了一个。截至目前,它仅在android中受支持。 iOS 不支持它。我希望这有帮助。

https://github.com/pauldemarco/foreground_service

【讨论】:

    【解决方案3】:

    我试过flutter_foreground_service,但它有一个大问题。当应用程序关闭此插件时抛出错误。此处报告此错误:https://github.com/pauldemarco/foreground_service/issues/1

    foreground_service也有问题:https://github.com/pauldemarco/foreground_service/issues/1

    目前(2020 年 1 月)可能没有好的解决方案。如果有人开发了一个好的解决方案,我可能会把它添加到这里。

    我认为谷歌应该为这类问题找到解决方案。我们使用颤振是因为我们认为颤振更有效。如果我们失去了时间这种荒谬的错误,为什么我们要使用颤振? android 用 kotlin,ios 用 swift 这可能更好。

    【讨论】:

      猜你喜欢
      • 2014-03-21
      • 1970-01-01
      • 2021-06-01
      • 2021-09-16
      • 2022-01-19
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多