Android Manager之SensorManager(传感器)—基础知识

1.简介

说到传感器,相信大家都不会陌生吧,比如微信的摇一摇就用到了加速度传感器。

传感器的定义:一种物理设备或者生物器官,能够探测、感受外界的信号,物理条件(如光,热,适度)或化学组成(如烟雾),并将探知的信息传递给其他的设备或者器官。 

传感器的种类:可以从不同的角度对传感器进行划分,转换原理(传感器工作的基本物理或化学 效应)。

用途:输出信号以及制作材料和工艺等。一般是按工作原来来分:物理传感器与化学传感器 两类。手机上搭载的基本都是物理传感器。




2.手机上搭载的常见传感器

2.1.方向传感器(Orientation sensor)


2.2.加速感应器(Accelerometer sensor)


2.3.陀螺仪传感器(Gyroscope sensor)


2.4.磁场传感器(Magnetic field sensor)


2.5.距离传感器(Proximity sensor)


2.6.光线传感器(Light sensor)


2.7.气压传感器(Pressure sensor)


2.8.温度传感器(Temperature sensor)


2.9.重力感应器(Gravity sensor,Android 2.3引入)


2.10.线性加速感应器(Linear acceleration sensor ,Android 2.3引入)


2.11.旋转矢量传感器(Rotation vector sensor,Android 2.3引入)


2.12.相对湿度传感器(Relative humidity sensor,Android 4.0引入)


2.13.近场通信(NFC)传感器(Android 2.3引入),NFC和其他不一样,具有读写功能。



3.获取当前设备传感器列表

3.1.代码

public class SensorManagerActivity extends AppCompatActivity {


    private SensorManager sensorManager;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sensormanager);


        //获取SensorManager实例
        sensorManager= (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        //获取当前设备支持的传感器列表
        List<Sensor> allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);


        StringBuilder sb = new StringBuilder();
        sb.append("当前设备支持传感器数:" + allSensors.size() + "   分别是:\n\n");
        for(Sensor s:allSensors){
            switch (s.getType()){
                case Sensor.TYPE_ACCELEROMETER:
                    sb.append("加速度传感器(Accelerometer sensor)" + "\n");
                    break;
                case Sensor.TYPE_GYROSCOPE:
                    sb.append("陀螺仪传感器(Gyroscope sensor)" + "\n");
                    break;
                case Sensor.TYPE_LIGHT:
                    sb.append("光线传感器(Light sensor)" + "\n");
                    break;
                case Sensor.TYPE_MAGNETIC_FIELD:
                    sb.append("磁场传感器(Magnetic field sensor)" + "\n");
                    break;
                case Sensor.TYPE_ORIENTATION:
                    sb.append("方向传感器(Orientation sensor)" + "\n");
                    break;
                case Sensor.TYPE_PRESSURE:
                    sb.append("气压传感器(Pressure sensor)" + "\n");
                    break;
                case Sensor.TYPE_PROXIMITY:
                    sb.append("距离传感器(Proximity sensor)" + "\n");
                    break;
                case Sensor.TYPE_TEMPERATURE:
                    sb.append("温度传感器(Temperature sensor)" + "\n");
                    break;
                default:
                    sb.append("其他传感器" + "\n");
                    break;
            }
            sb.append("设备名称:" + s.getName() + "\n 设备版本:" + s.getVersion() + "\n 供应商:"
                    + s.getVendor() + "\n\n");
        }
        Log.d("TAG","sb.toString()----:"+sb.toString());


    }


}


3.2.效果




附1:Sensor官方链接

http://androiddoc.qiniudn.com/reference/android/hardware/Sensor.html


附2:


  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值