안드로이드 개발 질문/답변
(글 수 45,052)
블루투스 장치를 검색해서 연결하는 클래스를 만들고 있습니다.
private void findMyBluetoothDevice(){
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter);
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
registerReceiver(mReceiver, filter);
if(mBluetoothAdapter.isDiscovering()){
mBluetoothAdapter.cancelDiscovery();
}
mBluetoothAdapter.startDiscovery();
}
장치를 찾기 위한 방법이 위 코드처럼 , discovery 시켜 놓고,
이벤트로 응답하는 장치들을 받아야 하는 건가봐요......????
제가 만들려는 클래스는 UI 없이, 내부적으로 동작을 잘 하는 라이브 러리를 만들려는 거라서
Activity 를 extends 하고 싶지 않은데..
activity 를 사용하지 않으면
브로드 캐스트 리시버 등록, 해제를 할 수 없는거 같아요..
어떻게 해결할 수 있나요..?
registerReceiver() 를 호출 할수 있는 Context 객체를 받거나
외부로 부터 Discovery 에 관련된 이벤트를 처리하는 Handler 객체를 직접 매개변수로 전달 받아서 구현 하시면
Bluetooth 객체에서 독립적으로 구현 할 수 있을것 같습니다.