什么是检查 Android 服务是否在运行的最佳方法?我知道
我尝试使用设置为
下面是调用:
ActivityManager
API,但是似乎不建议在类似我的情况下使用该 API(来源)。我也知道可以使用全局/持久变量来维护服务的状态。我尝试使用设置为
0
的标志与 bindService
,但我遇到了与 来源 链接中的人相同的问题(唯一的例外是,我正在尝试使用本地服务的 bindService
)。下面是调用:
getApplicationContext().bindService(new Intent(getApplicationContext(),
MyService.class), mServiceConnection, 0);
始终返回true,但没有连接到服务。这是否是预期行为?在我看来,如果服务尚未运行(它确实没有运行,我已经检查过了),或者未设置BIND_AUTO_CREATE标志(同样,也没有设置),那么bindService应该返回false。
onDestroy
方法将不会被调用,下次启动您的应用程序时,它会认为服务正在运行,尽管实际上并不是这样。 - satur9nine