我对android绑定服务有些兴趣。指南:http://developer.android.com/guide/components/bound-services.html
,关于bindService(),说:

The `bindService()` method returns immediately without a value

但这似乎不正确,因为该方法的签名是
public abstract boolean bindService (Intent service, ServiceConnection conn, int flags)

其中返回的布尔值描述如下:
If you have successfully bound to the service, true is returned; false is returned if the connection is not made so you will not receive the service object.

所以问题是:为什么文档中说方法returns immediately without a value?此外,here的绑定方式如下:
void doBindService() {
    bindService(new Intent(Binding.this,
            LocalService.class), mConnection, Context.BIND_AUTO_CREATE);
    mIsBound = true;
}

我不理解mIsBound = true的含义,因为javadoc说,如果绑定到服务失败,bindService()也可以返回false。所以应该是:
void doBindService() {
    mIsBound = bindService(new Intent(Binding.this,
            LocalService.class), mConnection, Context.BIND_AUTO_CREATE);
}

我错了吗?

最佳答案

文档不正确。当返回的布尔值为false时,这意味着不再尝试建立连接。如果返回true,则表示系统尝试建立连接,这可能成功或失败。
看看这个问题的答案:"in what case does bindservice return false"
基本上,bind service在找不到要绑定的服务时返回false。

10-07 12:44