Publié par admin dans
BLE는 API 18에 도입되었기 때문에 Bluetooth 사양의 변경으로 인해 이전 장치에서 사용할 수 없습니다. 나는 당신의 응용 프로그램에서 18에 최소 SDK 버전을 지정하는 것이 좋습니다. 다음으로 앱 매니페스트의 매니페스트 태그에 이러한 권한 및 기능 태그를 추가: Bluetooth 특별 관심 그룹은 상용 장치가 구현할 수 있는 프로필에 많은 표준 서비스의 표준을 정의합니다. 통신 장치 간의 상호 운용성을 가중할 수 있습니다. Bluetooth LE의 경우 심박수 프로필, 근접 프로필 또는 시간 프로필이 여기에 포함됩니다. 특정 프로필을 구현한다고 주장하는 장치와 상호 작용할 때 개발자는 해당 장치에 특정 서비스 및 특성 컬렉션이 있음을 예상할 수 있습니다. Android 6.0+ (API 수준 23+), 사용자는 앱을 설치할 때가 아니라 앱이 실행되는 동안 앱에 대한 권한을 부여합니다. BLE는 여전히 안드로이드에 새로운 이기 때문에, 몇 가지 개선은 낮은 에너지 블루투스 장치를 감지하는 방법이 변경 된 동일한 API 21에서 만들어졌다. 이로 인해 일부 이전 API가 사용 중단됩니다. 주로 사용 가능한 블루투스 LE 장치에 대 한 검색, mBluetoothAdapter.startLeScan (mLeScanCallback) 방법은 이제 더 이상 사용. 새로운 API는 동일한 BluetoothAdapter 클래스에서 초기화 할 수있는 BluetoothLeScanner 클래스의 startScan 방법을 사용하는 것이 좋습니다.
그러나 많은 사람들이 직면해야 하는 문제는 이러한 새 API 메서드가 이전 API에서 작동하지 않기 때문에 이전 API와 호환되지 않는다는 것입니다. 따라서 여기에 우리는 안드로이드 블루투스 낮은 에너지 예를 만들 것입니다, API까지 뒤로 지원 18. 나는 문제를 발견했다. 안드로이드 6 이후 당신은 ACCESS_FINE_LOCATION 및 ACCESS_COARSE_LOCATION 그렇지 않으면 작동하지 않습니다에 대한 응용 프로그램 권한을 부여해야합니다. 나는 그것을 권한을 주었고 지금은 잘 작동하고 있습니다. 코드를 공유 해 주셔서 감사합니다 클래식 블루투스와 는 달리, 블루투스 저에너지 (BLE)는 상당히 낮은 전력 소비를 제공하도록 설계되었습니다. 이를 통해 Android 앱은 근접 센서, 심박수 모니터 및 피트니스 장치와 같이 더 엄격한 전력 요구 사항이 있는 BLE 장치와 통신할 수 있습니다. 당신은 21 아래 API 수준에서 스캔을위한 간격과 창이 무엇인지 말해 주세요 수 있습니다. (안드로이드 4.4 및 4.3) ? 빈 활동으로 기본 Android 앱을 빌드하여 시작합니다. 참고: 블루투스 LE 장치에 대해서만 스캔하거나 Bluetooth에 설명된 대로 클래식 블루투스 장치에 대해서만 스캔할 수 있습니다.
Bluetooth LE와 클래식 장치를 동시에 스캔할 수 없습니다. 참고: LE 비콘은 종종 위치와 관련이 있습니다. BluetoothLeScanner를 사용하려면 앱의 매니페스트 파일에서 ACCESS_COARSE_LOCATION 또는 ACCESS_FINE_LOCATION 권한을 선언하여 사용자의 권한을 요청해야 합니다. 이러한 권한이 없으면 검사는 결과를 반환하지 않습니다. 이 샘플에서는 Gradle 빌드 시스템을 사용합니다. 이 프로젝트를 빌드하려면 « gradlew 빌드 » 명령을 사용하거나 Android Studio에서 « 프로젝트 가져오기 »를 사용합니다. 사용자 입력에 따라 활동은 Android BLE API를 통해 BLE 장치와 상호 작용하는 BluetoothLEService라는 서비스와 통신하며, 이 샘플에서 오류가 발견되면 https://github.com/googlesamples/android-BluetoothLeGatt 앱에서 장치 검색을 시작하거나 Bluetooth 설정을 조작하려면 BLUETOOTH_ADMIN 권한도 선언해야 합니다. 참고: BLUETOOTH_ADMIN 권한을 사용하는 경우 BLUETOOTH 권한도 있어야 합니다. 저작권 2017 안드로이드 오픈 소스 프로젝트, Inc. 모든 블루투스 활동에는 Bluetooth어댑터가 필요합니다.