2015-07-15 3 views
0

Это код для получения proximity sensor.On смена сенсора i показать сообщение Toast.Как проверить датчик приближения на эмуляторе?

public class MainActivity extends Activity implements SensorEventListener { 

    private SensorManager mSensorManager; 
    private Sensor mSensor; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
     mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); 
     mSensorManager.registerListener(this, mSensor, 
       SensorManager.SENSOR_DELAY_NORMAL); 
    } 

    protected void onResume() { 
     super.onResume(); 
     mSensorManager.registerListener(this, mSensor, 
       SensorManager.SENSOR_DELAY_NORMAL); 
    } 

    protected void onPause() { 
     super.onPause(); 
     mSensorManager.unregisterListener(this); 
    } 

    @Override 
    public void onSensorChanged(SensorEvent event) { 
     Toast.makeText(this, "Sensor Changed", Toast.LENGTH_LONG).show(); 

     if (event.values[0] == 0) { 
      Toast.makeText(this, "Screen off", Toast.LENGTH_LONG).show(); 
     } else { 
      Toast.makeText(this, "Screen on", Toast.LENGTH_LONG).show(); 
     } 
    } 

    @Override 
    public void onAccuracyChanged(Sensor sensor, int accuracy) { 
     // TODO Auto-generated method stub 

    } 

} 

Для тестирования этого приложения я подключиться к эмулятору через Telnet, как этот telnet localhost 5554. Я меняю близость следующим образом: sensor set proximity 5. но это не сработает. Что я сделал не так?

ответ

1

Нет, Вы не можете использовать бесконтактные датчики на эмуляторе, но вы можете проверить их на реальное потому что они содержат такие датчики, которые вы хотите протестировать, например, акселерометр, гироскоп, магнитометр. Но да, вы можете попробовать использовать gps как приложение в эмуляторе, используя DDMS. Вы можете использовать Genymotion с ограниченными функциями в бесплатной версии, но реальные устройства выгодны.

+0

, но если изменить значение близости, как указано выше. Значение близости изменяется, но приложение не вызывает событие. –

+0

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

0

Одним из решений будет использование сторонней виртуализированной андроидной машины, такой как Genymotion.

Приложение имеет аккуратные элементы управления для изменения данных о местоположении и данные датчика, он даже имеет встроенный в Java библиотеки для реализации тестовых

+0

на самом деле, что функция я не могу использовать сог она доступна на коммерческой версии –

+0

https://code.google.com/p/openintents/wiki/SensorSimulator- Это? – borax12

0

Это достижимо со следующими шагами:

  1. Open AS, запустить эмулятор
  2. Нажмите на Extended controls
  3. Выберите Virtual sensors
  4. В верхней вкладке выбрать Additional sensors
  5. А что у вас есть , играйте с близостью, как вы хотите

enter image description here

Смежные вопросы