Датчик света на Nexus One возвращает только два разных значения - PullRequest
4 голосов
/ 13 августа 2010

Я пытаюсь прочитать значения датчика освещенности моего Nexus One, но я только собираю следующие значения:

10,0

225,0

и в некоторых случаях некоторые значения намного выше.

Используемый код:

sensorManager = (SensorManager) context
                .getSystemService(Context.SENSOR_SERVICE);
        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

        listener = new SensorEventListener() {

            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
            }

            @Override
            public void onSensorChanged(SensorEvent event) {
                 Log.d(Constants.TAG, "Brightness: " + event.values[0]);

            }

        };
        sensorManager.registerListener(listener, sensor,
                SensorManager.SENSOR_DELAY_NORMAL);

    }

У кого-нибудь есть опыт работы с датчиком освещенности на Nexus One или другом устройстве Android? Является ли мой код правильным способом чтения значений? Как я могу получить лучшие и более точные значения?

1 Ответ

1 голос
/ 22 октября 2010

Ваш код выглядит нормально. Я получал такие значения: 10, 225, 320, 640, 1280, 2600, 3200, 10240. Но мне действительно нужно было направить устройство на солнце, чтобы получить более высокие значения.

Редактировать: из характеристики датчика освещенности, которую можно получить на моем телефоне с помощью Android API - 10240 - это наибольшее значение, которое может вернуть этот датчик.

...