2013-10-11 4 views
0

내 보수계 구현시 Sensor.TYPE_GRAVITY을 사용하고 있습니다. 그러나이 센서가 실제로 장치에 항상 구현되는지 확실하지 않습니다. Sensortype은 안드로이드 2.3부터 사용 가능합니다. 제 질문은 : 모든 장치가 안드로이드 2.3+에서이 센서를 구현한다고 가정 할 수 있습니까?Sensor.TYPE_GRAVITY는 android 2.3+에서 항상 사용 가능합니까?

저는 하드웨어 센서가 아니라 소프트웨어 센서이기 때문에 묻습니다.

답변

0

2.3의 구현은 소프트웨어 기반이며 가속도계 데이터만을 기반으로 한 것 같습니다. GravitySensor.cpp in android 2.3

안드로이드 2.3 이상을 가정하면 항상 사용 가능합니다.

안드로이드 4+에서 센서는 센서 융합 장치 (GravitySensor.cpp in android 4.0.3)이므로 안정성을 높이기 위해 다른 센서를 사용합니다. 다시 말하지만, 내가 사용할 수 있다고 가정하고 어떤 데이터라도 얻을 수 있다면, 예를 들어 가속도계가 없다면 갑자기지지를 떨어 뜨릴 것이라고 가정하는 것이 이상 할 것입니다.

android 2.3의 구현은 2 차 Butterworth 필터를 사용하여 중력 구성 요소를 추출하고 매우 간단합니다. 안드로이드 2.3에서이 센서로 실험 한 결과, 완전히 정확하지는 않으며 0.1G-0.2G 또는 실제 1G 예상 신호를 놓치지 만 만보계에 통합 할만큼 충분히 유용하다는 것을 보여줍니다.

+1

"안드로이드 2.3 이상을 가정 할 때 안전 할 수 있습니다. 항상 사용할 수 있습니다."- 나는 "장치가 없으면 상당히 구피가 될 것"이라고 더 많이 말합니다. 당신이 지적한대로, 그것은 순수한 소프트웨어이므로 아무런 이유가 없습니다. 그러나 장치 제조업체는 때로는 우리가 좋은 이유를 찾지 못하는 일을 할 것입니다. :-) – CommonsWare

+0

내 Sony Xperia M (Android 4.1)이 중력 센서를 애플리케이션 코드에 사용할 수없는 것 같습니다. – Sam