仿微信搖一搖震動

	<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"/>


發佈了53 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章