每个示例都有Service bind onStart()和一段时间内从Service调用方法(比如onClick之后)。直到那个onClick服务肯定是绑定的。
我遇到的问题是服务需要一段时间,直到它被绑定并且异步绑定。 因此,如果我开始和Activity需要立即从服务中获取一些数据 - 它崩溃,因为它还没有绑定。所以我需要等待我的活动等待它的连接完成。我该怎么做?
答案 0 :(得分:0)
您可以利用pendingList变量来处理这种情况:
ui:repeat
答案 1 :(得分:-1)
我想你想要:http://developer.android.com/guide/components/bound-services.html。
在此页面上,您可以找到:
/** Defines callbacks for service binding, passed to bindService() */
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
// We've bound to LocalService, cast the IBinder and get LocalService instance
LocalBinder binder = (LocalBinder) service;
mService = binder.getService();
mBound = true;
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
mBound = false;
}
};
当服务准备就绪时调用onServiceConnected
方法,你可以在里面做你的东西(或者使用mBound属性)。
要绑定到您的服务,请使用:
// Bind to LocalService
Intent intent = new Intent(this, LocalService.class);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);