我正在开发健身应用程序作为我的学士学位论文的一部分,并且即使在应用程序完全关闭的情况下,也希望跟踪步数。为此,我目前正在启动一项利用内置传感器“ Step Counter”和“ Step Detector”的服务。经过一些测试,我发现有时我的服务被杀死,不再跟踪所采取的步骤。我将手机放在桌子上过夜,然后在早晨走来走去,然后打开了应用程序,但没有跟踪到我早上采取的步骤,而当我关闭应用程序并立即开始走动时,仍然可以跟踪步骤。
有没有办法确保我的服务不会被杀死?
使用前台服务是否可以解决我的问题,还有使用前台服务的替代方法吗?
答案 0 :(得分:1)
前台服务是您要确保该服务不会被终止的唯一方法。
这样做的原因是,前台服务始终向用户显示一条通知,并且如果用户愿意,可以被用户杀死。如果您想确定设备上正在运行的内容,这尤其重要。
引入新的隐私权政策后,从android 9开始不推荐使用提供永久运行服务的所有先前方法。
答案 1 :(得分:0)
基本上,您需要使服务在后台运行, 这是实现此目的的解决方法
https://stackoverflow.com/a/58162451/7579041
上面的链接对于Stock ROM和自定义ROM设备(如OnePlus,OPPO,VIVO等)很有用
希望这对您有帮助