//注 : 需要添加硬件传感器权限
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//调用加速度传感器
getSensor();
}
public void getSensor() {
//调用传感器服务
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
//获取加速度传感器
Sensor aSensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
//注册
sm.registerListener(this, aSensor, SensorManager.SENSOR_DELAY_UI);
}
@Override
public void onSensorChanged(SensorEvent event) {
// 获取传感器类型
int type = event.sensor.getType();
if (type == Sensor.TYPE_ACCELEROMETER) {
float[] value = event.values;
float x = value[0];
float y = value[1];
float z = value[2];
if (x > 17 || y > 17 || z > 17) {
Log.d(TAG, "摇一摇---");
//振动器
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(2000);
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
protected void onPause() {
super.onPause();
sm.unregisterListener(this);
}