如何确保关闭应用程序时运行的服务不会被杀死?

时间:2019-10-01 11:49:13

标签: android android-service

我正在开发健身应用程序作为我的学士学位论文的一部分,并且即使在应用程序完全关闭的情况下,也希望跟踪步数。为此,我目前正在启动一项利用内置传感器“ Step Counter”和“ Step Detector”的服务。经过一些测试,我发现有时我的服务被杀死,不再跟踪所采取的步骤。我将手机放在桌子上过夜,然后在早晨走来走去,然后打开了应用程序,但没有跟踪到我早上采取的步骤,而当我关闭应用程序并立即开始走动时,仍然可以跟踪步骤。

  • 有没有办法确保我的服务不会被杀死?

  • 使用前台服务是否可以解决我的问题,还有使用前台服务的替代方法吗?

2 个答案:

答案 0 :(得分:1)

前台服务是您要确保该服务不会被终止的唯一方法。

这样做的原因是,前台服务始终向用户显示一条通知,并且如果用户愿意,可以被用户杀死。如果您想确定设备上正在运行的内容,这尤其重要。

引入新的隐私权政策后,从android 9开始不推荐使用提供永久运行服务的所有先前方法。

答案 1 :(得分:0)

基本上,您需要使服务在后台运行, 这是实现此目的的解决方法

https://stackoverflow.com/a/58162451/7579041

上面的链接对于Stock ROM和自定义ROM设备(如OnePlus,OPPO,VIVO等)很有用

希望这对您有帮助