public class MainActivity extends Activity implements SensorEventListener {
private TextView temperaturelabel;
private SensorManager sensormanager;
private Sensor temperature;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
temperaturelabel = (TextView) findViewById(R.id.text);
sensormanager = (SensorManager)getSystemService(SENSOR_SERVICE);
temperature= sensormanager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
temperaturelabel.setText(""+temperature.getPower());
}
protected void onResume() {
super.onResume();
sensormanager.registerListener(this, temperature, SensorManager.SENSOR_DELAY_FASTEST);
}
protected void onPause() {
super.onPause();
sensormanager.unregisterListener(this);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() != Sensor.TYPE_AMBIENT_TEMPERATURE) return;
temperaturelabel.setText(""+temperature.getPower());
}
}
我想从设备获取温度。
我写了这段代码,我已经在 HTC One X 上试过了,但没有用。
最佳答案
从htc one x的规范来看,这台设备好像没有温度传感器。
看看它的 official specifications .
关于android - Android 上的温度传感器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949452/