I run this code on the emulator to read temperature change, but it never detects the temperature change at onSensorChanged(). I use this command to change temperature through the telnet tool:
sensor set temperature 1:2:3
What did I do wrong?
public class SensorActivity extends Activity implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mysensor;
@Override
public final void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mysensor = mSensorManager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);
}
public void printText(String text)
{
EditText et=(EditText)findViewById(R.id.editText1);
et.setText(text);
}
@Override
public final void onAccuracyChanged(Sensor sensor, int accuracy) {
// Do something here if sensor accuracy changes.
String text=sensor.getName()+"accuracy = " + accuracy;
printText(text);
}
@Override
public final void onSensorChanged(SensorEvent event) {
String text = "OnSensorChanged";
printText(text);
}
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mysensor, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
}
Thanks
When you created the emulator, did you give it the hardware?
Open AVD, look for the Hardware section, click “New” and add “Temperature Support.”