在我们的应用程序中,我们使用多种服务和意图服务进行BLE通信,麦克风录音等 .
我们注意到了新的背景限制和限制(是的,我们确实注意到它已经很晚了,我知道) . 我已经更改了使用ContextCompat.startForegroundService()函数的实现,并使用startForeground()和docs中声明的通知 .
但我们看到,当应用程序是 killed 时,前台服务也会在几分钟后死亡 . 它会发生吗?如果应用程序位于_1077024中,前台服务是否应继续工作?
此外,如果是这种情况,电池优化功能有何功能?只在后台保持服务工作?当应用程序是具有此功能的后台时,服务仍然可以被杀死吗?
当应用程序是 killed 时,我仍然对服务状态感到困惑 .
我们不介意显示这些服务的通知,但我们仍然希望它继续“无休止地”工作 .
1 回答
是的它破坏了前台服务..,但它在微秒内再次重建......它的自然行为 . 即使你通过将它从最近的应用程序中删除来杀死应用程序.. !!
仅发布您的前台服务代码.. !!没有额外的代码,我会纠正它,以便它可以按照我说的方式行事 .
如果电池正在优化,那么它可能也不会重新启动前台服务ON_BOOT_COMPLETE
是的,我知道这是完全浪费时间,因为谷歌文档没有直接的文档记录方式,并且没有开发人员的示例代码...如果你想编码超过4个android os,那么所有代码都需要编码为每个版本代码.. !!
它永远不会发生......必须与广播接收器一起实现,并且当你想要你的服务似乎无休止地运行时...再次你不能创建静态接收器,不能像以前那样通过清单调用它们......你需要在运行时从前台服务创建它 .
编辑:2
谷歌已经
wrong os
(Android)基于wrong concept
与wrong implementation
与wrong support
与wrong documentation
与wrong License
这是开源的,允许non - standard
公司修改和使用它..现在考虑它的缺点:它使开发人员难以编写甚至支持多个版本的应用程序..说
Lollipop
和Marshmallow
. 两种方式都不同,已经开发人员有1000个案件要处理,然后再来这个..在一次开发超过2个版本时,案例变得最糟糕......它完全混乱......
再次谷歌在几个月的时间内不断改变规则......
由于没有适当的文档,开发人员只有一个选项可以解决问题 . !!
这些都不够......,所以: -
Vivo:
ColorOs
OnePlus:OxygenOs
MI:FunTouchOs
. . . .这是一个巨大的公司名单,不知道如何修改(以及为什么要修改......?)开始修改
stock-android
..,其中大部分只允许facebook
,Google
,Whatsapp
,Instagram
,主要的社交应用程序供应商服务才会来在内存Boot_complete
.因为买家不会购买上述软件无法使用的手机.. !!没有人会拿这样的手机.. !!
这是一个商业
没门..!!正如我们在Googles Android Studio上开发标准应用程序,并在google的模拟器上测试它,它拥有stock-android系统.. !!因此,不保证它是否适用于每个制造商的设备.. !!
谷歌负责这些所有的挫折,所有的手机制造商已经采取了这样的程度,现在无法处理..谷歌必须对修改加以限制,并且还必须实施硬件支持系统.. !!消除这种非托管操作系统的最佳方法 .