2012-09-23 3 views
0
private static int SENSOR_DELAY_SLOW = 5000000; 

sensMngr = (SensorManager) getSystemService(SENSOR_SERVICE); 

sensMngr.registerListener(this, sensMngr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SENSOR_DELAY_SLOW); 

센서의 데이터를 5 초마다 캡처하려고하지만 원하는 속도는 무시합니다. 청취자는 초당 400 회 이상의 값을 캡처합니다.가속도계 수신기를 사용자 정의 속도로 등록

onSensorChanged (SensorEvent 이벤트) 메서드에서 들어오는 데이터를 수동으로 필터링 할 수 있지만, 주로 배터리 소모를 줄이는 것이 목표입니다. 내가 잘못 뭐하는 거지

Documentation

?

감사합니다.

+0

나는 (삼성 갤럭시 탭 2와 함께) 이것도 주목했다. SENSOR_DELAY_UI를 사용하여 가장 느린 업데이트 속도를 얻는 것 같았습니다. – tristan2468

답변

1

SensorManager.SENSOR_DELAY_UI를 원한다면 거기에서 필터링해야합니다. 선택할 수있는 속도는 4 가지 뿐이므로 자신 만의 속도를 정의 할 수는 없습니다. SENSOR_DELAY_UI는 초당 약 3 개의 샘플을 처리하는 경향이 있으며 센서 값이 변경되면 결과를 얻으므로 샘플 사이에 몇 초가 걸릴 수 있습니다. 이것은 모두 장치마다 다릅니다.

Android에서 센서 값 전달에 고정 된 속도를 정의 할 방법이 없습니다.

관련 문제