편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2018.08.08

    안드로이드 근접센서 딜레이 조절이 되나요?


    안드로이드 공부를 하다 잘 안되는 것이 있어서 질문 드립니다.

      mSensorManager = (SensorManager)getSystemService( Context.SENSOR_SERVICE );
      mSensor = mSensorManager.getDefaultSensor( Sensor.TYPE_PROXIMITY );
      mSensorManager.registerListener(this, mSensor,SensorManager.SENSOR_DELAY_FASTEST);
    

    이처럼 근접센서를 사용하려고 선언했습니다.

    그리고 registerListener 3번째 인수가 딜레이를 정하는 것이라고 하여 상위 선언을 따라가 찾아보았습니다.

    switch (rate) {
                case SENSOR_DELAY_FASTEST:
                    delay = 0;
                    break;
                case SENSOR_DELAY_GAME:
                    delay = 20000;
                    break;
                case SENSOR_DELAY_UI:
                    delay = 66667;
                    break;
                case SENSOR_DELAY_NORMAL:
                    delay = 200000;
                    break;
                default:
                    delay = rate;
                    break;
            }
    

    이러한 코드를 찾을 수 있었습니다.

    default에 의해서 사용자가 delay를 줄 수 있습니다.

    그런데 아무리 테스트 해봐도 근접센서는 차이가 없다고 느껴집니다.

    저는 3초정도마다 한번씩 받아오고 싶습니다. 쓰레드 말고 저 인자로 해결 방법은 없는건가요?

  • 프로필 심승현님의 편집
    날짜2018.08.01

    안드로이드 근접센서 딜레이 조절이 되나요?


    안드로이드 공부를 하다 잘 안되는 것이 있어서 질문 드립니다.

      mSensorManager = (SensorManager)getSystemService( Context.SENSOR_SERVICE );
      mSensor = mSensorManager.getDefaultSensor( Sensor.TYPE_PROXIMITY );
      mSensorManager.registerListener(this, mSensor,SensorManager.SENSOR_DELAY_FASTEST);
    

    이처럼 근접센서를 사용하려고 선언했습니다.

    그리고 registerListener 3번째 인수가 딜레이를 정하는 것이라고 하여 상위 선언을 따라가 찾아보았습니다.

    switch (rate) {
                case SENSOR_DELAY_FASTEST:
                    delay = 0;
                    break;
                case SENSOR_DELAY_GAME:
                    delay = 20000;
                    break;
                case SENSOR_DELAY_UI:
                    delay = 66667;
                    break;
                case SENSOR_DELAY_NORMAL:
                    delay = 200000;
                    break;
                default:
                    delay = rate;
                    break;
            }
    

    이러한 코드를 찾을 수 있었습니다.

    default에 의해서 사용자가 delay를 줄 수 있습니다.

    그런데 아무리 테스트 해봐도 근접센서는 차이가 없다고 느껴집니다.

    저는 3초정도마다 한번씩 받아오고 싶습니다. 쓰레드 말고 저 인자로 해결 방법은 없는건가요?