当前位置:
首页 >
传感器之加速传感器
发布时间:2024/3/12
40
豆豆
转载请注明出处:http://blog.csdn.net/mr_leixiansheng/article/details/53692519
功能:摇动手机出现提示
传感器使用步骤:
1、实例化SensorManager并得到传感器类型
2、对传感器实现监听
3、动态注册
4、退出时释放资源(取消注册)
代码如下:
package com.example.administrator.accelerometersensor;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.Toast;public class MainActivity extends AppCompatActivity {private SensorManager sensorManager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//设置传感器类型sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//注册监听sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);}@Overrideprotected void onDestroy() {super.onDestroy();if (sensorManager != null) {//取消监听释放资源sensorManager.unregisterListener(listener);}}private SensorEventListener listener = new SensorEventListener() {@Overridepublic void onSensorChanged(SensorEvent sensorEvent) {//获取x,y,z值float xValue = Math.abs(sensorEvent.values[0]);float yValue = Math.abs(sensorEvent.values[1]);float zValue = Math.abs(sensorEvent.values[2]);//做出响应if (xValue > 15 || yValue > 15 || zValue > 15) {Toast.makeText(MainActivity.this, "摇动了手机", Toast.LENGTH_SHORT).show();}}@Overridepublic void onAccuracyChanged(Sensor sensor, int i) {}}; }总结
- 上一篇: CJJ 61-2017 城市地下管线探测
- 下一篇: LDO介绍