1 简介
最近开发android 摇一摇显示日志功能,结果发现,太敏感了,随便动一下手机就会震动,研究了一下这个问题,遂写这篇博客记录下来。
2 基本代码
(1) Android摇一摇就是利用加速度传感器来感知手机的方位,基本代码如下:
MainActivity.java
public class MainActivity extends AppCompatActivity {
private SensorManager sensorManager;
private Vibrator vibrator;
private ShakeListener shakeListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
shakeListener = new ShakeListener();
sensorManager.registerListener(shakeListener, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), sensorManager.SENSOR_DELAY_NORMAL);
}
//摇一摇监听器
public class ShakeListener implements SensorEventListener {
@Override
public void onSensorChanged(SensorEvent event) {
//values[0]:X轴,values[1]:Y轴,values[2]:Z轴
float[] values = event.values;
if ((Math.abs(values[