资讯详情

Android 压力传感器获取当前压强

1)压传感器返回当前压力,单位为百帕斯卡hectopascal(hPa)。

2)具体代码如下

package com.example.androidapp;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity

private SensorManager mSensorManager=null;

private Sensor mSensor=null;

private TextView textView1=null;

private Button button1=null;

private Button button2=null;

@Override

protected void onCreate(Bundle savedInstanceState)

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textView1=(TextView)findViewById(R.id.textView1);

/*获取系统服务(SENSOR_SERVICE)返回一个SensorManager对象*/

mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);

/*通过SensorManager获取相应的(压力传感器)Sensor类型对象*/

mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);

/*注册相应的SensorService*/

button1=(Button)findViewById(R.id.button1);

button1.setOnClickListener(new Button.OnClickListener()

@Override

public void onClick(View arg0)

mSensorManager.registerListener(mSensorEventListener,mSensor

,SensorManager.SENSOR_DELAY_NORMAL);

}

});

/* 销毁相应的SensorService

*注意文档中提到的 至关重要部分,即使Activity当看不见时,传感器将继续工作

* 因此,触发器必须关闭,否则用户将消耗大量电量*/

button2=(Button)findViewById(R.id.button2);

button2.setOnClickListener(new Button.OnClickListener()

@Override

public void onClick(View v)

mSensorManager.unregisterListener(mSensorEventListener,mSensor);

}

});

}

/*声明一个SensorEventListener对象用于侦听Sensor并重载事件onSensorChanged方法*/

private final SensorEventListener mSensorEventListener=new SensorEventListener()

@Override

public void onSensorChanged(SensorEvent event)

if(event.sensor.getType()==Sensor.TYPE_PRESSURE){

/*压力传感器返回当前压力,单位为百帕斯卡hectopascal(hPa)。*/

float pressure=event.values[0];

textView1.setText(String.valueOf(pressure) "hPa");

}

}

@Override

public void onAccuracyChanged(Sensor sensor,int accuracy)

// TODO Auto-generated method stub

}

};

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main,menu);

return true;

}

}

标签: 压强传感器的使用

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台