奥利奥后台服务

Gil*_*Gil 2 android background-process foreground-service android-8.0-oreo

在我们的应用程序中,我们使用多个服务和意图服务来进行 BLE 通信、麦克风录音等。

我们注意到了新的背景限制和限制(是的,我知道我们确实很晚才注意到)。我已经更改了使用 ContextCompat.startForegroundService() 函数的实现,并将 startForeground() 与文档中所述的通知一起使用。

但我们看到,当应用程序被终止时,前台服务也会在几分钟后终止。它应该发生吗?仅当应用程序在后台时,前台服务才应继续工作吗?

另外,如果是这种情况,电池优化功能有何作用?使服务仅在后台运行?当应用程序处于后台并且启用此功能时,服务是否仍然可以被杀死?

我已经阅读了很多有关它的文档,但我仍然对应用程序被终止时的服务状态感到困惑。

我们不介意显示这些服务的通知,但我们仍然希望它继续“无休止”地工作。

san*_*ane 5

但我们看到,当应用程序被终止时,前台服务也会在几分钟后终止。它应该发生吗?仅当应用程序在后台时,前台服务才应继续工作吗?

是的,它破坏了前台服务......,但它在微秒内再次重新创建......它的自然行为。即使您通过将应用程序从最近的应用程序中删除来杀死应用程序..!!

仅发布您的前台服务代码..!! 没有额外的代码,我将更正它,以便它可以按照我所说的方式运行。

另外,如果是这种情况,电池优化功能有何作用?使服务仅在后台运行?当应用程序处于后台并且启用此功能时,服务是否仍然可以被杀死?

如果电池正在优化,那么它可能也不会重新启动您的前台服务 ON_BOOT_COMPLETE

我已经阅读了很多有关它的文档,但我仍然对应用程序被终止时的服务状态感到困惑。

是的,我知道这完全是浪费时间,因为谷歌文档没有直接的记录方式,也没有为开发人员提供的示例代码...如果你想为 4 个以上的 android 操作系统编写代码,那么所有代码​​都需要编码为每个版本代码..!!

我们不介意显示这些服务的通知,但我们仍然希望它继续“无休止”地工作。

它永远不会发生...无尽地必须使用广播接收器来实现,当您希望您的服务似乎可以无限地运行时..同样,您不能创建静态接收器,也不能像以前一样通过清单调用它们...您需要在运行时从前台服务创建它。

我在哪里可以获得示例代码?没有在哪里......谷歌没有示例代码......只是等等等等......

简短而甜蜜...我已经失去了整整一年的时间,现在对您的上述所有问题都了如指掌,并已在应用程序中实现了它,并且应用程序在市场上运行得很好,正如预期的那样...我喜欢帮助他们所有人,因为谷歌缺乏它在文档中..发布您的代码,让我知道,并让我让它工作


编辑:2

wrong osGoogle基于wrong conceptwith制作了(Android) wrong implementation,它是wrong support开源的,允许公司修改和使用它。现在考虑一下它的缺点:wrong documentationwrong Licensenon - standard

  1. 开发人员编写一个甚至支持多个版本的应用程序会让开发人员感到沮丧。比如说LollipopMarshmallow。两种方式都是不同的,开发人员已经有 1000 个案例需要处理,然后又是这个..
  2. 当一次开发超过 2 个版本时,Case 的开发变得最糟糕……简直是一团糟……
  3. 谷歌在几个月的时间里再次不断改变规则......
  4. 由于没有适当的文档,开发人员只有一个选择:拔掉头发......!
  5. 这些都还不够......,所以再说一遍:-

Vivo:ColorOs OnePlus:OxygenOs MI FunTouchOs :。。。。

这是一个巨大的公司名单,他们不知道如何修改(以及为什么要修改......?)开始修改stock-android..,其中大多数只允许facebook,,,,主要社交Google应用程序供应商的服务只出现在内存中。WhatsappInstagramBoot_complete

为什么只有这些服务而不是我的..?

因为买家不会购买无法使用上述软件的手机..!! 没有人会拿这样的手机..!!

为什么不是我的..?

这是一门生意

还有其他办法吗...

决不..!!当我们在 Google Android Studio 上标准开发应用程序时,也在持有 Android 系统的 Google 模拟器上进行测试..!! 因此,不要保证它是否适用于每个制造商的设备。

谁对这些所有情况负责......解决方案是什么?

谷歌应对这些所有的挫败负责,所有手机制造商都已经达到了现在无法处理的程度。谷歌必须限制修改,并且必须实施硬件支持系统。!停止这种非托管操作系统的最佳方法。