android搖一搖功能的實現

jopen 12年前發布 | 2K 次閱讀 html5未來 Apache Cayenne

很多人趕腳搖一搖用著很歡樂~實際實現起來很簡單。了解Sensor傳感器使用方法即可。

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


首先acticity要實現SensorEventListener接口

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

然后重寫onSensorChanged方法根據時間類型和偏移值判斷即可  事件類型:event.sensor.getType() 偏移值 event.values

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

最后要注意在onStop() onPause()里注銷傳感器的服務  mSensorManager.unregisterListener(this);

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

   mSensorManager.registerListener(this, 

   mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 

   //還有SENSOR_DELAY_UI、SENSOR_DELAY_FASTEST、SENSOR_DELAY_GAME等,

   //根據不同應用,需要的反應速率不同,具體根據實際情況設定

   SensorManager.SENSOR_DELAY_NORMAL);

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!