반응형
브로드 캐스트 리시버 등록
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_HEADSET_PLUG);
registerReceiver(receiver, filter);
ACTION_HEADSET_PLUG를 등록
브로드 캐스트 리시버 생성
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(ACTION_HEADSET_PLUG)){
int state = intent.getIntExtra("state", -1);
if(state == 1){ // 연결된 상태
String name = intent.getStringExtra("name"); // 이어폰 이름
int microphone = intent.getIntExtra("microphone", 0); // 마이크 유무 1이면 존재, 0이면 없음
}
}
}
};
Intent가 갖고 있는 extra 값들:
- state(int) ⇒ 0(연결되지 않은 상태), 1(연결된 상태)
- name(string) ⇒ 헤드셋 유형
- microphone(int) ⇒ 0(마이크 없음), 1(마이크 있음)
참고
반응형
'개발 > Android' 카테고리의 다른 글
[Android] Java 클래스에서 Kotlin static 함수를 불러올 때, Non-static method cannot be referenced from a static context 에러 (0) | 2024.06.26 |
---|---|
[Android] Framework의 core에 리소스를 추가했으나 불러오지 못하는 현상 (0) | 2024.06.24 |
[Android] Android 12 기준 블루투스 연결 감지하기 (0) | 2024.06.05 |
[Android] scrcpy를 이용해 화면 녹화하기 (0) | 2024.05.22 |
[Android] Coroutine을 이용해 AsyncTask 만들어 보기 (0) | 2024.03.20 |