保证服务在重启时首先启动

Guaranteeing Service starts first upon reboot

我在应用程序中有一项服务:serviceA。我想确保 serviceA 在启动时 运行 的第一个服务 (当然是在系统服务之后)。

我目前已经实现了所有必要的意图过滤器:BOOT_COMPLETEDQUICKBOOT_POWERONPRE_BOOT_COMPLETEDREBOOT。 (从阅读中我知道 QUICKBOOT_POWERONPRE_BOOT_COMPLETED 是多余的,但我保留它们是为了让我开心)。

不过,我的服务不是第一。我假设没有真正的方法可以确定地保证我的应用程序的服务是第一个启动的服务。

I'm assuming that there is no real way to deterministically guarantee that my application's service is the first one to start.

您可以构建自己的自定义 ROM。然后,您可以修改 Android 如何处理 BOOT_COMPLETED 广播并安排自己先获取它。或者,您可以完全转储 Android 服务,并通过 Linux 守护程序执行您正在执行的任何操作。

否则,不,因为 BOOT_COMPLETED 不是有序广播。