Android 手机系统中的重力传感器+源码,作者信息:Himi,重力传感器也称为加速度传感器,源代码编译环境需要SDK 1.5(api 3)支持。
此传感器不仅对玩家反转手机的动作可以检测到,而且会根据反转手机的程度,得到传感器的值也会不同!
部分源代码释义:
通过服务得到传感器管理对象
sm = (SensorManager) MainActivity.ma.getSystemService(Service.SENSOR_SERVICE);
sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//得到一个重力传感器实例
//TYPE_ACCELEROMETER 加速度传感器(重力传感器)类型。
//TYPE_ALL 描述所有类型的传感器。
//TYPE_GYROSCOPE 陀螺仪传感器类型
//TYPE_LIGHT 光传感器类型
//TYPE_MAGNETIC_FIELD 恒定磁场传感器类型。
//TYPE_ORIENTATION 方向传感器类型。
//TYPE_PRESSURE 描述一个恒定的压力传感器类型
//TYPE_PROXIMITY 常量描述型接近传感器
//TYPE_TEMPERATURE 温度传感器类型描述
mySensorListener = new SensorEventListener() {
@Override
//传感器获取值发生改变时在响应此函数
public void onSensorChanged(SensorEvent event) {//备注1
//传感器获取值发生改变,在此处理
x = event.values[0]; //手机横向翻滚
//x>0 说明当前手机左翻 x<0右翻
y = event.values[1]; //手机纵向翻滚
//y>0 说明当前手机下翻 y<0上翻
z = event.values[2]; //屏幕的朝向
//z>0 手机屏幕朝上 z<0 手机屏幕朝下
arc_x -= x;//备注2
arc_y += y;
}
标签: