Это код для получения 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
. но это не сработает. Что я сделал не так?
, но если изменить значение близости, как указано выше. Значение близости изменяется, но приложение не вызывает событие. –
Поверьте мне, иногда они работают правильно, а иногда и нет. Я прошел через этот этап, где мне нужно предпочесть устройство для Android, а эмулятор - настолько надежный носитель, что это только настоящие Android-устройства, и если вы найдете это полезным, примите это как ответ –