Это просто достигается, например, передачей 0
в последнем параметре #bindService(Intent, ServiceConnection, int)
.
Например,
bindService(new Intent(this, MrMeService.class), new ServiceConnection(){
public void onServiceDisconnected(ComponentName name) {
System.out.println("Service disconnected");
}
public void onServiceConnected(ComponentName name, IBinder service) {
System.out.println("Service connected");
}
}, 0);
Вызов #bindService(..)
вернет true
но служба не фактически запускается, и ваше подключение к службе не будет запускать до тех пор, пока кто-то не запустит службу, например, с помощью #startService(Intent)
.По крайней мере, так работает на ICS и Gingerbread.