일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- db
- Data Structure
- VIM
- Redux
- network
- git
- 자바
- 안드로이드
- 프로그래머스
- DP
- DFS
- 다이나믹 프로그래밍
- react
- 백준
- 동적 계획법
- Python
- frontend
- Graph
- TypeScript
- LeetCode
- Algorithm
- CS
- Database
- 리트코드
- BFS
- 그레이들
- Javascript
- java
- 알고리즘
- vscode
Archives
- Today
- Total
늘 겸손하게
안드로이드 블루투스 신호 강도(RSSI) 찾기 본문
안녕하세요 besforyou입니다
이번 글에서는 주변 블루투스 기기 신호 강도 찾는 방법에 대하여 소개하겠습니다
출처 : https://stackoverflow.com/questions/15312858/get-bluetooth-signal-strength
1. 블루투스 어댑터 생성
BluetoothAdapter BTAdapter = BluetoothAdapter.getDefaultAdapter();
위의 명령으로 BluetoothAdpater를 생성 가능합니다. 생성한 후 onCreate 하단에
registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
를 추가하여 블루투스 리시버를 등록합니다. 리시버는 아래에 따로 생성해줍니다
2. startDiscovery()
BluetoothAdapater의 startDiscovery() 메소드로 주변 블루투스 기기 검색을 시작합니다.
BTAdapter.startDiscovery();
3. 블루투스 리시버 생성
블루투스 리시버를 생성합니다. 리시버 내부에 블루투스 기기가 감지될 경우 수행할 코드를 삽입할 수 있습니다.
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
...
}
};
4. 블루투스 신호 강도 RSSI 받기
예시 : 받은 RSSI값을 Toast로 출력하는 코드
private final BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Toast.makeText(getApplicationContext()," RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show();
}
}
};
BluetoothDevice.ACTION_FOUND.equals(action) : 블루투스 장치가 검색된 경우 true 반환
intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE) : 블루투스 신호 강도를 rssi 형식으로 반환
Toast.makeText(getApplicationContext(), "RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show() : rssi값을 Toast로 출력
'Programming > Android' 카테고리의 다른 글
안드로이드 Logcat 사용법 (0) | 2021.08.23 |
---|---|
안드로이드 Drawable resource를 변수(객체)와 연결하기 (0) | 2021.08.20 |
안드로이드 스튜디오 그레이들 버전 바꾸기 (0) | 2021.08.18 |
안드로이드 cannot resolve symbol cannot resolve symbol '@integer/google_play_services_version' (0) | 2021.08.18 |
안드로이드 디렉토리 속 파일 찾기 (0) | 2021.08.17 |