首页 新闻 会员 周边 捐助

Android 如何关闭整个设备的重力感应 求关键代码

0
悬赏园豆:30 [已关闭问题] 关闭于 2012-06-28 15:54

Android 如何关闭整个设备的重力感应,重力开关的实现

Qiengo的主页 Qiengo | 初学一级 | 园豆:184
提问于:2012-06-12 13:06
< >
分享
所有回答(2)
0

view plain
  private SensorManager sensorMgr;
  Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
  //保存上一次 x y z 的坐标
  float bx = 0;
  float by = 0;
  float bz = 0;
  long btime = 0;//这一次的时间
  sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
  SensorEventListener lsn = new SensorEventListener() {
  public void onSensorChanged(SensorEvent e) {
  float x = e.values[SensorManager.DATA_X];
  float y = e.values[SensorManager.DATA_Y];
  float z = e.values[SensorManager.DATA_Z];
  //在这里我们可以计算出 X Y Z的数值 下面我们就可以根据这个数值来计算摇晃的速度了
  //我想大家应该都知道计算速度的公事 速度 = 路程/时间
  //X轴的速度
  float speadX = (x - bx) / (System.currentTimeMillis() - btime);
  //y轴的速度
  float speadY = (y - by) / (System.currentTimeMillis() - btime);
  //z轴的速度
  float speadZ = (z - bz) / (System.currentTimeMillis() - btime);
  //这样简单的速度就可以计算出来 如果你想计算加速度 也可以 在运动学里,加速度a与速度,
  //位移都有关系:Vt=V0+at,S=V0*t+1/2at^2, S=(Vt^2-V0^2)/(2a),根据这些信息也可以求解a。
  //这里就不详细介绍了 公事 应该初中物理课老师就教了呵呵~~
  bx = x;
  by = y;
  bz = z;
  btime = System.currentTimeMillis();
  }
  public void onAccuracyChanged(Sensor s, int accuracy) {
  }
  };
  // 注册listener,第三个参数是检测的精确度
  sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);

认真点行不,不知道就不要随便拷段代码给我

支持(0) 反对(0) Qiengo | 园豆:184 (初学一级) | 2012-06-12 13:59
0

搞定,修改设置

Qiengo | 园豆:184 (初学一级) | 2012-06-12 18:13

你说怎么设置的?java代码,还xml

支持(0) 反对(0) 雷明864 | 园豆:200 (初学一级) | 2014-09-10 13:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册