Android传感器

一、概述

传感器(英文名称:sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

Android的手机中有很多传感器可以运用,大致的例举一下,有如下的:

  • define SENSOR_TYPE_ACCELEROMETER 1 //加速度
  • define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力
  • define SENSOR_TYPE_ORIENTATION 3 //方向
  • define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪
  • define SENSOR_TYPE_LIGHT 5 //光线感应
  • define SENSOR_TYPE_PRESSURE 6 //压力
  • define SENSOR_TYPE_TEMPERATURE 7 //温度
  • define SENSOR_TYPE_PROXIMITY 8 //接近
  • define SENSOR_TYPE_GRAVITY 9 //重力
  • define SENSOR_TYPE_LINEAR_ACCELERATION 10//线性加速度

二、程序如下

  • 得到所有的传感器
final TextView tv = (TextView) findViewById(R.id.tv);

//1.得到传感器的管理器
SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
//2.得到传感器集合
List<Sensor> list = manager.getSensorList(Sensor.TYPE_ALL);

StringBuilder stringBuilder = new StringBuilder();

//3.下面进行遍历
for (Sensor sensor : list) {
    String name = sensor.getName();
    int type = sensor.getType();
    stringBuilder.append("name="+name+"--type="+type);

    Log.i("sky","type=="+type+"    name==="+name);
}
tv.setText(stringBuilder.toString());

}
  • 光传感示例
//1.得到传感器的管理器
SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
//2.得到光传感器的对象
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
//3.对光的强弱进行监听
manager.registerListener(new SensorEventListener() {

    @Override
    public void onSensorChanged(SensorEvent event) {
        float value=event.values[0];
        tv.setText("目前的光线强度是:"+value);
        Log.i("sky", ""+value);
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
}, sensor, SensorManager.SENSOR_DELAY_NORMAL);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值