有人觉得这个温度传感器没啥毛用,也确实,在实际开发过程当中很少有这个需求的,以至于有的手机直接撤销了这个传感器功能,这么说是不是也觉得温度甚至湿度传感器是个鸡肋,这些信息完全可以从网上得到这些数据,可能做天气预报的项目会用到这些小功能吧,这里记录一下,直接贴代码了,因为我的手机不支持温度传感器具体也没有测,但是我相信这段代码是没有问题的,毕竟参考的关完,哈
public class LightActivity extends AppCompatActivity implements SensorEventListener {
private SensorManager sensorManager;
private Sensor sensor;
private TextView mTvLight;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_light);
mTvLight=findViewById(R.id.tv_light);
// 获取传感器管理者对象
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// 获取光线传感器对象
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
}
@Override
protected void onResume() {
super.onResume();
//添加监听器
sensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
if (sensorManager != null) {
//解除注册,不再接收任何传感器的更新。
sensorManager.unregisterListener(this,sensor);
}
}
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_AMBIENT_TEMPERATURE){
float temperature=event.values[0];
mTvLight.setText(String.valueOf(temperature)+"°C");
}else {
ToastUtils.showShort("不支持");
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
更多手机传感器使用请看Android中的传感器(总)