我有一个Android应用程序,在主要活动的onCreate
方法中启动后台服务。
这是一个轻量级服务,我想让它一直运行。因此,我在START_STCKY
服务方法中返回onStartCommand()
。
当App启动并且服务开始运行时,如果只有“正在运行的服务”从“设置”中被杀死,然后如果App重新启动,则不会调用应用程序的onCreate
方法,并且不会重新启动服务
如果我在Activity的onResume()方法中启动我的服务,那么继续检查我的服务是否正在运行似乎不是一个好习惯。
如何处理这种情况?我希望当服务被终止并且应用程序重新启动时,即使应用程序在后台运行,也应该重新启动该服务。
答案 0 :(得分:1)
我没有使用startService,而是使用BindService,我在应用程序的onCreate
中绑定服务,并在应用程序的onTerminate
中解除绑定。
这样可以一直运行我的服务,直到应用程序运行,并且App Manager中没有任何选项可以杀死我应用程序中的运行服务。