android 调用服务,android – 什么时候才能调用有线服务的onServiceConnected?

这篇博客探讨了Android中Service的绑定过程,特别是ServiceA如何绑定到ServiceB。作者注意到onCreate()后紧跟着onStart(),然后是onServiceConnected()回调。文章指出,尽管回调通常在主线程中运行,但询问这种特定顺序是否始终如此。内容强调了理解Android服务生命周期和回调的重要性。
摘要由CSDN通过智能技术生成

我试图从这样的另一个服务绑定服务:

public class ServiceA extends Service {

private ServiceB mDataService;

private boolean mIsBound;

@Override

public void onCreate(){

super.onCreate();

doBindService();

/* ... */

}

@Override

public void onStart(final Intent intent, final int startId){

/*...*/

}

private ServiceConnection mConnection = new ServiceConnection() {

public void onServiceConnected(ComponentName className, IBinder service) {

mDataService = ((ServiceB.LocalBinder)service).getService();

}

public void onServiceDisconnected(ComponentName className) {

mDataService = null;

}

};

void doBindService() {

bindService(new Intent(ServiceA.this, ServiceB.class), mConnection, Context.BIND_AUTO_CREATE);

mIsBound = true;

}

void doUnbindService() {

if (mIsBound) {

unbindService(mConnection);

mIsBound = false;

}

}

}

这是我从goolge的样本中获取的一个简单片段:)

代码工作正常,mDataService保存对ServiceB实例的引用,但有一件事我无法理解:在调用onStart之后调用onServiceConnected回调.正如我在android的文档中所看到的那样,the callback is running on the main thread – 但是我可以指望它在我的情况下总是按照这个顺序发生吗? onCreate – > onStart – > onServiceConnected?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值