Notice
Recent Posts
Recent Comments
Link
투케이2K
228. (TWOK/ERROR) [Android] 안드로이드 CompileSdk 30 및 안드로이드 12 기기 이상 블루투스 스캔 이슈 - 근처 기기 권한 확인 본문
투케이2K 에러관리
228. (TWOK/ERROR) [Android] 안드로이드 CompileSdk 30 및 안드로이드 12 기기 이상 블루투스 스캔 이슈 - 근처 기기 권한 확인
투케이2K 2024. 3. 21. 21:00[환경 설정 및 설명]
프로그램 : AndroidStudio
설 명 : [Android] 안드로이드 CompileSdk 30 및 안드로이드 12 기기 이상 블루투스 스캔 이슈 - 근처 기기 권한 확인
java.lang.SecurityException: Need android.permission.BLUETOOTH_SCAN permission for Attributio
[에러 원인]
1. 안드로이드 12 이상 블루투스 스캔을 하기 위해서는 [근처 기기] 권한이 필요한데 CompileSdk 30 버전에서는
사용자로부터 근처 기기 권한을 획득 할 수 없어 퍼미션 권한 에러 발생 (Bluetooth Scan)
[해결 방법]
1. AndroidManifest 파일에 블루투스 스캔 및 연결 관련 권한 선언 후 프로그램 소스 코드 단에서 해당 기능 요청 후
에러 발생 유무에 따라 [근처 기기] 권한이 정상 부여 된 것 확인
>> 에러가 발생한 경우 [근처 기기] 권한이 부여되지 않은 것으로 판단해 > 알림 창 표시 (애플리케이션 설정 이동 후 근처기기 권한을 활성해 주세요)
2. 소스 코드 추가
<!-- ============================================================= -->
<!-- [AndroidManifest.xml] : [블루투스 권한 추가 안드로이드 12 이상 대응] -->
<!-- ============================================================= -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
// ---------------------------------------------------------------
// [Java 소스 코드] : [근처 기기 권한 체크 수행] : ble_Adapter.getBondedDevices : 블루투스 스캔 권한 체크 기능 사용
// ---------------------------------------------------------------
try {
BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter ble_Adapter = bluetoothManager.getAdapter();
Set<BluetoothDevice> pairedDevices = ble_Adapter.getBondedDevices();
S_Log._W_("근처 기기 권한 체크 성공", null);
// [추가 로직 처리]
}
catch (Exception e){
S_Log._E_("근처 기기 권한 체크 에러 발생", new String[]{String.valueOf(e.getMessage())});
}
반응형
'투케이2K 에러관리' 카테고리의 다른 글
Comments