我有一些可以运行或停止的前景 IntentService。如果它是可见的,我需要在 Activity 上反映它的进度(当前状态非常复杂)。
我没有找到可靠和好的方法来确定我的 IntentService 是否正在运行并准备好绑定到我的 Activity。
如果我做bindService它总是返回 true。如果 IntentService 未运行,则永远不会调用onServiceConnected(以及任何其他回调),并且我的活动始终保持在准备状态。
我发现的唯一可行的解决方案是我的 IntentService 类中的静态变量,它指示服务正在运行。但我认为使用这种方法是不好的做法,许多人警告说它在某些情况下无法工作或不可预测。
问题: Android 开发者希望如何处理 bindService 调用失败?
特殊情况:如果我们尝试绑定到现在未运行或处于某种中间状态(例如关闭等)的服务,该怎么办。