加速度传感器

来源:互联网 发布:软件系统业务需求 编辑:程序博客网 时间:2024/05/02 01:39

这里写图片描述

public class MainActivity extends AppCompatActivity {    private SensorManager sensorManager;    private SensorEventListener listener;    private Sensor sensor;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);        listener = new SensorEventListener() {            @Override            public void onSensorChanged(SensorEvent event) {                // 加速度可能会是负值,所以要取它们的绝对值                float xValue = Math.abs(event.values[0]);                float yValue = Math.abs(event.values[1]);                float zValue = Math.abs(event.values[2]);                if(xValue>15||yValue>15||zValue>15){                    Toast.makeText(MainActivity.this, "摇一摇", Toast.LENGTH_SHORT).show();                }            }            @Override            public void onAccuracyChanged(Sensor sensor, int accuracy) {            }        };        sensorManager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_NORMAL);    }    @Override    protected void onDestroy() {        super.onDestroy();        if(sensorManager!=null){            // 注销监听器            sensorManager.unregisterListener(listener);        }    }}
0 0