-1

我怀疑如果我使用报警管理器启动定期服务并从活动的onCreate方法启动服务。如果一次又一次启动该服务,我该如何防止服务多次触发。Android定期后台服务

+0

你能显示代码吗? – AADProgramming

回答

0

假设你正在创建一个普通Service(而不是IntentService),按了Android Servicedocumentation,当应用程序调用startService电话,服务将被实例化和启动(如果需要为它创造的过程)。

另外,如果它正在运行,那么它仍然在运行。

所以,把它简单地说,“开始”的服务

生命周期是独立于已启动该服务 活动的生命周期。这是真实的,不论 天气都在同一进程或不同进程中运行

因此,即使您的Activity可能会得到创建多次,如果Service之前创建仍在运行,则服务对象已经存在意志被重用。

但是,如果有onCreate()startService()调用Activity,这将每次调用onStartCommand()

因此,你需要确保你有适当的代码/逻辑,因为我明白你必须做在任的onCreate /在onStart和的onStop或的onResume和onPaused东西来处理onStartCommand()