package bw.com.bw_day09_sensor.demo01;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import bw.com.bw_day09_sensor.R;
public class SensorActivity01 extends AppCompatActivity implements SensorEventListener{
private EditText mEt;
private SensorManager sensorManager;
private Sensor sensor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor01);
mEt = (EditText) findViewById(R.id.et_id);
//1, 获取的传感器的管理器对象
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//2, 得到传感器对象
sensor = sensorManager.getDefaultSensor(1);//1 代表加速度传感器
}
//3, 注册监听器
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this,sensor,200);//200ms --毫秒
}
//4, 取消监听器
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
//5, 监听传感器的变化
@Override
public void onSensorChanged(SensorEvent event) {
//传感器的值发生变化, 执行该方法
//取值 -- X . Y ,Z
float[] data = event.values;
String xStr = "X轴的" + data[0];
String yStr = "Y轴的" + data[1];
String zStr = "Z轴的" + data[2];
mEt.setText(xStr+"\n"+yStr+"\n"+zStr);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
//传感器的精度发生变化的回调方法
}
}
传感器
最新推荐文章于 2023-04-21 16:03:48 发布