activity 에서 등록 시킨 BroadcastReceiver는 언제 죽나요???



액티비티에서 블루투스 관련 소스 입니다. 
액티비티에서 bluetoothState 를 등록 시키고 서비스를 실행 시키고 그 서비스는 블루투스 상태를 따라서 반응 하고 싶습니다.
BroadcastReceiver bluetoothState = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent) {
String prevStateExtra = BluetoothAdapter.EXTRA_PREVIOUS_STATE;
String stateExtra = BluetoothAdapter.EXTRA_STATE;
int state = intent.getIntExtra(stateExtra, 1);
switch (state){
case (BluetoothAdapter.STATE_TURNING_ON) :{
Log.e("BLUETOOTH","t on");
break;
}
case (BluetoothAdapter.STATE_ON) :{
Log.e("BLUETOOTH","on");
break;
}
case (BluetoothAdapter.STATE_TURNING_OFF) :{
Log.e("BLUETOOTH","t off");
break;
}
case (BluetoothAdapter.STATE_OFF) :{
Log.e("BLUETOOTH","off");
break;
}
default: break;
}
}
};

이와 같이 액티비티에서 등록을 시키는데요~~ 프로그램이 종료 되면 얼마 있다가 같이 죽는 것 같습니다. 
서비스에서 지속 적으로 등록 시키는 것도 생각 해 보았지만 비 효율적이라고 생각이 드는 데요~~~  

블루투스 on/off 를 하면 반응 하는 서비스 를 만들고 싶습니다.
액티비티가 종료되고 서비스만 살아 있어도 블루투스에 따라 서비스는 반응하는 서비스는 만들고 싶습니다.

서비스에서 쓰레드로 일정 간격 폴링을하면 되지만 CPU 점유율이 높아서 실제 BroadcastReceiver를 이용한 서비스를 만들고 싶습니다.

어떻게 하는 게 좋은지 의견 좀 주시면 감사하겠습니다.