Android 如何确保在应用程序关闭时运行的服务不会被终止?

Android 如何确保在应用程序关闭时运行的服务不会被终止?,android,android-service,Android,Android Service,作为我学士学位论文的一部分,我正在开发一个健身应用程序,并且希望即使在应用程序完全关闭的情况下也能跟踪步数。为此,我目前正在启动一项使用内置传感器步进计数器和步进检测器的服务。经过一些测试,我发现有时我的服务会被终止,不再跟踪所采取的步骤。我把电话放在桌子上过夜,早上四处走动,然后打开应用程序,早上采取的步骤没有被跟踪,而当我关闭应用程序并立即开始行走时,步骤的跟踪仍然有效 有没有办法确保我的服务不会被杀 使用前台服务能解决我的问题吗?除了使用前台服务,还有其他选择吗 基本上你需要让服务在后台运

作为我学士学位论文的一部分,我正在开发一个健身应用程序,并且希望即使在应用程序完全关闭的情况下也能跟踪步数。为此,我目前正在启动一项使用内置传感器步进计数器和步进检测器的服务。经过一些测试,我发现有时我的服务会被终止,不再跟踪所采取的步骤。我把电话放在桌子上过夜,早上四处走动,然后打开应用程序,早上采取的步骤没有被跟踪,而当我关闭应用程序并立即开始行走时,步骤的跟踪仍然有效

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

使用前台服务能解决我的问题吗?除了使用前台服务,还有其他选择吗


基本上你需要让服务在后台运行, 以下是实现这一目标的变通方法

以上链接适用于库存ROM和定制ROM设备,如OnePlus、OPPO、维梧等

我希望这将帮助您解决问题

如果您希望确保服务不会被终止,前台服务是唯一的方法

这样做的原因是前台服务总是向用户显示通知,如果用户愿意,前台服务可能会被用户杀死。如果您想确定设备上运行的是什么,这一点尤其重要


从安卓9开始,当引入新的隐私政策时,所有以前制作永久跑步服务的方法都被弃用。

那么,如果你看看其他一些健身/步数类应用程序,你用Code做了哪些尝试,您会发现,当用户运行捕获步骤计数的服务时,它们会向用户显示一个持久通知—这是前台服务的一个示例。Android文档说明,Android系统尽最大努力保持前台服务运行,但并非100%保证。所以我想最好的选择是实现前台服务并向用户显示通知。