2015-07-16 3 views
0

Я разрабатываю приложение для Android, которое может работать с активным вызовом, в этом случае пользователю нужен экран (он разговаривает с гарнитурами).Android - отключить датчик приближения программным способом в вызове

Проблема заключается в бесконтактном датчике, если пользователь захлопывает его, экран становится черным, есть ли какой-либо путь, из кода, программно, без укоренения, в котором я могу отключить эту функцию?

Спасибо.

================================================================================================================================== ========================= EDIT: От ответа Майк Армстронг, я попытался это без успеха:

В деятельности OnCreate():

// Disable proximity sensor. 
SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); 
sensorManager.registerListener(getSensorListener(), sensor, SensorManager.SENSOR_DELAY_NORMAL); 

СЛУШАТЕЛЬ:

private SensorEventListener getSensorListener(){ 

    return new SensorEventListener() { 
     @Override 
     public void onSensorChanged(SensorEvent event) { 
      // nothing. 
     } 

     @Override 
     public void onAccuracyChanged(Sensor sensor, int accuracy) { 
      // nothing. 
     } 
    }; 
} 
+0

Вы пробовали wakelock? https://developer.android.com/training/scheduling/wakelock.html – sonic

+1

Этот wakelock не работает. – svprdga

ответ

0

Отличный вопрос! Оформить заказ этого ...

http://developer.android.com/guide/topics/sensors/sensors_position.html

Просто обработка слушателя к датчику приближения следует заменить его во время разговора, до тех пор, пока вы не делаете вызов с намерением. Если вы делаете вызов с намерением, вы по умолчанию будете использовать приложение Android для Android, и это наверняка окажется вне сферы действия вашего приложения.

+1

Не работает :( – svprdga

+0

Обновите свой вопрос кодом. –