android搖一搖功能的實現

不少人趕腳搖一搖用着很歡樂~實際實現起來很簡單。瞭解Sensor傳感器使用方法便可。this

搖一搖功能只使用到Sensor.TYPE_ACCELEROMETER加速度傳感器spa


首先acticity要實現SensorEventListener接口接口

初始化傳感器服務  mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);事件

而後重寫onSensorChanged方法根據時間類型和偏移值判斷便可  事件類型:event.sensor.getType() 偏移值 event.valuesci

加速度傳感器返回值的單位是加速度的單位 m/s^2(米每二次方秒),有三個方向的值分別是
  values[0]: x-axis 方向加速度
  values[1]: y-axis 方向加速度
  values[2]: z-axis 方向加速度
  其中x,y,z方向的定義是以水平放置在的手機的右下腳爲參照系座標原點
  x 方向就是手機的水平方向,右爲正
  y 方向就是手機的水平垂直方向,前爲正
  z方向就是手機的空間垂直方向,天空的方向爲正,地心的方向爲負get

最後要注意在onStop() onPause()裏註銷傳感器的服務  mSensorManager.unregisterListener(this);it

 onResume()裏重載服務 ://加速度傳感器event

   mSensorManager.registerListener(this, List

   mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 方法

   //還有SENSOR_DELAY_UI、SENSOR_DELAY_FASTEST、SENSOR_DELAY_GAME等,

   //根據不一樣應用,須要的反應速率不一樣,具體根據實際狀況設定

   SensorManager.SENSOR_DELAY_NORMAL);

相關文章
相關標籤/搜索