温度传感器与压力传感器

//温度传感器和压力传感器的使用
public class TemperatureDemo extends Activity{
    private SensorManager sensorManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取传感器管理者
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        //为传感器管理者注册监听器(指明监听哪个传感器和监听速率)NORMAL为标准
        sensorManager.registerListener(listener, sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE),
                SensorManager.SENSOR_DELAY_NORMAL);//温度传感器
        sensorManager.registerListener(listener, sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE),
                SensorManager.SENSOR_DELAY_NORMAL);//压力传感器
    }
    //传感器监听器
    private SensorEventListener listener=new SensorEventListener() {
        @Override//传感器改变时调用
        public void onSensorChanged(SensorEvent event) {
            float[] values=event.values;//获取结果
            switch (event.sensor.getType()) {//获取触发的传感器类型
                case Sensor.TYPE_AMBIENT_TEMPERATURE://温度传感器
                    Toast.makeText(getApplicationContext(), "当前温度为:"+values[0], 0).show();
                    break;
                case Sensor.TYPE_PRESSURE://压力传感器
                    Toast.makeText(getApplicationContext(), "当前压力为:"+values[0], 0).show();
                    break;
                default:
                    break;
            }
        }
        
        @Override//传感器进度发生改变时调用
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            
        }
    };
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(sensorManager!=null){
            sensorManager.unregisterListener(listener);//取消监听
        }
    }
}

 

posted @ 2016-05-14 17:38  ts-android  阅读(1149)  评论(0编辑  收藏  举报