Теперь у нас есть такая потребность:
В других процессах есть служба привязки, затем
- Когда запускается другой процесс, ему необходимо привязать службу и вызвать метод связывания
- Если противоположный процесс не запущен, служба не будет извлечена
Для реализации этой функции мы используем службу следующим образом:
private ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "onServiceDisconnected ...");
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Log.d(LOG_TAG, "onServiceConnected ...");
}
};
// ...
boolean result = mActivity.bindService(intent,mServiceConnection,0)
Мое намерение состоит в том, что, когда процесс другой стороны не запущен, операция связывания активно не запускает процесс
проверяется, что, когда противоположная служба не запущена, "result"
значение равно true
, а "mServiceconnection" не вызывается обратно
Это приводит к проблеме:
"bindService(intent,mServiceConnection,0)"
- асинхронная операция. Когда мы получаем возвращаемое значение, мы не можем знать, была ли служба успешно привязана во времени без обратного вызова
Мы также не можем ждать в течение некоторого периода времени и судить, успешна ли привязка, существует ли обратный вызов , Это не является строгим
Что я должен делать перед лицом этой ситуации?
пожалуйста, пожалуйста ...