특정 위치에 많은 신호가있을 때 안드로이드는 들어오는 Bluetooth 4.0 메시지의 우선 순위를 어떻게 결정합니까? 한 지역 (Fitbit 기기 등을 착용하는 군중)에 신호 메시지가 많으면 Android는 특정 기준에 따라 수신 메시지를 처리하고 나머지는 무시합니다. 이것은 Android 개발 프레임 워크가 우리에게 액세스 권한을 부여하는 것보다 낮은 레벨에서 우선 순위가있는 것으로 보입니다. 혼잡 한 공간에서 증폭 된 신호 신호로 다양한 테스트를 실행하면 iPhone은 동일한 방식으로 작동하지 않습니다.혼잡 한 공간에서 Bluetooth 저에너지 신호 처리 우선 순위 지정
0
A
답변
2
행동의 차이점은 BLE 칩셋 구현을 기반으로하고 있으며 반드시 BLE 사양을 비롯한 의식적인 설계가 아닌 것으로 의심됩니다. 당신은 아마도 동작이 다른 칩셋을 가진 iOS 디바이스 모델 사이에서 그리고 심지어 훨씬 더 세분화 된 다른 안드로이드 모델 사이에서도 다르다는 것을 알 것이다.
이 질문에 대한 실제적으로 유용한 대답은 명확한 일반화 된 대답이 아닌 특정 장치 모델에 대한 특정 테스트 조건을 기반으로 할 수 있습니다.
틀림없이 이것은 내가 한 많은 테스트를 기반으로 한 모든 추측입니다. 나는 다른 사람들의보다 훌륭하고 구체적인 답변이없는 경우에만 그것을 제공한다.
2
내가 말할 수있는 한 "우선 순위 지정"이 없습니다. 블루투스 칩은 호스트로 스캔하는 동안 무선으로 스냅하는 것만 전달합니다.
광고 간격은 명심해야 할 사항입니다. 물론 다른 광고보다 더 자주 광고를 보내는 장치는 감지 될 가능성이 더 큽니다. 또한 두 기기가 동일한 순간에 광고 패킷을 보내고 신호 강도가 동일하다면 수신자가 가비지를 가져다가 패킷을 드롭합니다.
Android는 앱이 알림을 받기 전에 광고 패킷과 스캔 응답 패킷 모두를 기다리는 '활성 검색'을 사용합니다. 스캔 응답 패킷을 얻으려면 광고 패킷을받은 직후에 스캔 요청을 보내야하며 그 직후에 광고주는 스캔 응답 패킷을 보냅니다. 이제 표준에서는 다른 컨트롤러에서 다르게 구현 될 수있는 백 오프 메커니즘을 정의하므로 다른 컨트롤러의 가장 큰 차이점은 아마도이 때문일 수 있습니다.