Как изменить чувствительность датчика приближения Android? - PullRequest
1 голос
/ 23 февраля 2012

Я кодировал приложение на основе датчика приближения , но мне бы хотелось, чтобы пользователи могли изменять чувствительность датчика.Является ли это возможным?Если да, то как это сделать?

Ответы [ 3 ]

1 голос
/ 22 мая 2012

Просто "реализует SensorEventListener" и следуйте коду:

public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
        case TelephonyManager.CALL_STATE_IDLE:
            System.out.println("My Call IDLE");
            CallState = false;
            StartAudioSpeacker();
            System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
            if (audioManager.isSpeakerphoneOn()) {
                audioManager.setSpeakerphoneOn(false);
                mSensorManager.unregisterListener(this);
            }
            break;
        case TelephonyManager.CALL_STATE_OFFHOOK:
            System.out.println("My Call OFFHOOK");
            CallState = true;
            StartAudioSpeacker();
            System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
            break;
        case TelephonyManager.CALL_STATE_RINGING:
            System.out.println("My Call RINGING");
            break;
        }
    }
0 голосов
/ 27 июля 2012

API-интерфейс датчика, определенный в Android, определяет близость к логическому значению, т. Е. NEAR (1) ИЛИ FAR (0). Под «чувствительностью» я предполагаю, что вы имеете в виду пороговое расстояние, ниже которого датчик приближения сообщает о приближении как NEAR.

Подробнее о Датчик света / приближения на Android .

Android (до версии 4.1 "jelly-bean") НЕ предоставляет параметр расстояния приближения как часть своего сенсорного API .

У вас есть следующие опции:

  • изменить датчик-HAL , чтобы добавить настраиваемое пороговое значение для датчика приближения.

  • напрямую взаимодействует с драйвером датчика приближения (обычно это запись sys-fs).
    В зависимости от используемого оборудования датчика освещенности / приближения,
    это возможно на нескольких устройствах, но не на других.

Кроме того, для таких модификаций «системного уровня» однозначно требуется, чтобы устройство Android было рутировано.

0 голосов
/ 23 февраля 2012

Я не думаю, что это возможно.Датчик приближения управляется операционной системой.Для защиты пользователей приложения не могут напрямую изменять файлы os без доступа root.

...