<p>一、需要一個震動器</p><p>二、需要一個感應器</p>
//定義一個感應器管理者
SensorManager manager;
//定義一個振動器
Vibrator vibrator;
//定義一個監聽器
SensorEventListener listener;
//定義一個感應器,這裏需要的是一個重力加速度感應器
Sensor sensors;
//定義一個頻率參數
int rate;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化,通過系統服務獲取
manager=(SensorManager) getSystemService(SENSOR_SERVICE);
//初始化,通過系統服務來獲取
vibrator=(Vibrator) getSystemService(VIBRATOR_SERVICE);
//初始化感應器
sensors=manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
//初始化頻率
rate=SensorManager.SENSOR_DELAY_NORMAL;
//初始化監聽
listener=new SensorEventListener() {
public void onSensorChanged(SensorEvent enevt) {
float[] ary=enevt.values;
float x=ary[0];
float y=ary[1];
float z=ary[2];
//閥值
float f=15;
if(Math.abs(x)>f||Math.abs(y)>f||Math.abs(z)>f){
System.out.println("震動了!!!");
//振動行爲
vibrator.vibrate(1000);
}
}
public void onAccuracyChanged(Sensor arg0, int arg1) {
}
};
manager.registerListener(listener, sensors, rate);
}
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
manager.unregisterListener(listener);
}
別忘了添加權限: <uses-permission android:name="android.permission.VIBRATE"/>