안드로이드 블루투스 rssi 예제
2 agosto, 2019BLE가 지원되지 않으면 BLE 기능을 정상적으로 사용하지 않도록 설정해야 합니다. BLE가 지원되지만 비활성화된 경우 사용자가 응용 프로그램을 떠나지 않고 Bluetooth를 사용하도록 요청할 수 있습니다. 이 설정은 BluetoothAdapter를 사용하여 두 단계로 수행됩니다. 다음은 BLE 스캔 결과를 제공하는 데 사용되는 인터페이스인 BluetoothAdapter.LeScanCallback의 구현입니다. 클래식 블루투스 API는 오랜 시간 동안 우리의 가제트의 많은 에서 일하고있다으로 더 성숙하다. 다른 한편으로는, BLE API 는 낮은 전력 소비로 인해 새로운 가능성을 열어 주지만 BLE를 지원하지 않는 장치에 연결하기 위해 고전적인 Bluetooth API가 필요하기 때문에이 API를 사용할 수 없습니다. 이렇게 하면 BLE 장치에서 호스팅하는 GATT 서버에 연결되고 BluetoothGatt 인스턴스를 반환한 다음 GATT 클라이언트 작업을 수행하는 데 사용할 수 있습니다. 발신자(Android 앱)는 GATT 클라이언트입니다. BluetoothGattCallback은 연결 상태와 같은 결과를 클라이언트에 전달하고 추가 GATT 클라이언트 작업을 제공하는 데 사용됩니다.
이 문서에서 사용되는 예제에서는 Android 앱(Android 장치에서 실행 중)이 GATT 클라이언트입니다. 앱은 GATT 서버에서 데이터를 가져옵니다. 그러나 GATT 서버 역할을 하도록 Android 앱을 디자인할 수도 있습니다. 자세한 내용은 블루투스가트 서버를 참조하십시오. 다음은 Android 장치가 BLE 장치와 상호 작용할 때 적용되는 역할과 책임입니다. BLE 장치의 GATT 서버에 연결하려면 connectGatt() 메서드를 사용합니다. 이 메서드는 세 가지 매개 변수를 사용 합니다: 컨텍스트 개체, 자동 연결 (부울 자동으로 BLE 장치에 사용할 수 있게 되 면 자동으로 연결 여부를 나타내는), 그리고 BluetoothGattCallback에 대 한 참조: 스캐너만 작동 하도록 얻을 수 있습니다 생각 합니까? DeviceListFragment.java 파일을 사용하여 다른 프로젝트에서 설정() 및 draw() 메타도를 구현하여 사물을 시각화합니다. 난 그냥 ketai 예를 가지고 ketaibluetooth에 대한 호출을 삭제하고 파일에서 확장 및 재정의 된 기능으로 대체 할 수 있다는 것을 의미 ? 죄송합니다.
검색 프로세스를 가속화 할 수 없습니다 (일부 정밀 장치가 있거나 배열에 추가 된 장치 수만큼만 중지 할 수 있습니다). 그럼 난 RSSI 값을 얻기 위해 클래식 블루투스 어쨌든 볼 수 없습니다 : 그것은 단지 스캔하는 동안 반환하고 고전적인 블루투스 getRemoteDevice.getRSSI() 또는 . ReadSSI() 존재하지 않는다 (그것은 ble GATT와 함께 존재하는 것 같다); 나는 그것이 Bluecove 블루투스 라이브러리라는 것을하고 lib 존재 것을 본 것을 보고,하지만 난 그것을 사용하지 … 이것은 안드로이드 4.3 (API 레벨 18) 이상의 장치에서만 작동합니다. 다음으로 Bluetooth가 활성화되어 있는지 확인해야 합니다. 호출isEnabled() 블루투스가 현재 활성화되어 있는지 확인합니다. 이 메서드가 false를 반환하면 Bluetooth가 비활성화됩니다. 다음 코드 조각은 Bluetooth가 활성화되어 있는지 여부를 확인합니다. 그렇지 않은 경우 스니펫에 사용자가 Bluetooth를 사용하도록 설정으로 이동하라는 메시지가 표시되는 오류가 표시됩니다.