首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

手機偵測搖晃方向需加速度感測器,重力感測器僅能判斷傾斜

     編輯:程式設計疑難解答

感測器差異

感測器測量物理量適用場景
重力感測器重力加速度分量(靜態)螢幕自動旋轉、傾斜角度計算
加速度感測器三軸加速度(含重力+運動)步數計算、搖晃偵測、遊戲控制
陀螺儀角速度精確旋轉追蹤、VR 姿態

實現左右搖晃判斷

  1. 註冊 Sensor.TYPE_ACCELEROMETER 監聽器。
  2. 於 onSensorChanged 讀取 event.values[0](X 軸)。
  3. 設定閾值(如 ±2 m/s²),X > 閾值判定「右搖」,X < -閾值判定「左搖」。
  4. 加入去抖動邏輯(時間間隔、狀態機)避免誤觸發。

核心代碼

public void onSensorChanged(SensorEvent e) {
    if (e.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        float x = e.values[0];
        if (x > 2) onRightShake();
        else if (x < -2) onLeftShake();
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved