传感器的使用

1.定义Sensor管理器。

2.在onCreate()中获取传感器管理服务,

 msensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);从系统服务中获得。

3.onResume(),注册系统某某传感器的监听器

msensorManager.registerListener(this,msensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_GAME);

第一个参数是,用来监听传感器事件的监听器,因为有它所以才要实现SensorEventListener接口,implements传感器接口SensorEventListener,此时要实现接口的两个方法

第二个参数,传感器对象,指什么传感器,是重力传感器,方向传感器...

第三个参数:指定获取传感器数据的频率,见下图:

4.重写onStop(),onPause()

public void onStop(){

    msensorManager.unregisterListener(this);

    super.onStop();

    }

    public void onPause(){

    msensorManager.unregisterListener(this);

    super.onPause();

}

用于取消注册。

5.实现那两个方法:

onSensorChanged():当传感器的值发生改变时触发该方法。该方法通过SensorEvent对象的values()方法获取传感器的值,不同的传感器返回值不一样,X,Y,Z三个方向获取值。

public void onSensorChanged(SensorEvent event) 

float degree=event.values[0];
onAccuracyChanged():当传感器的精度发生改变时触发该方法。

6.onSensorChanged():当传感器的值发生改变时触发该方法

在方法中,首席获取触发器的传感器类型,int sensorType=event.sensor.getType();

然后在switch根据类型做相应的操作。

switch (sensorType) {

case Sensor.TYPE_ORIENTATION:

7.onAccuracyChanged():当传感器的精度发生改变时触发该方法。一般很少用到。但即使不用,也要在那定义,不然接口没有实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值