Android判断是否有传感器,教程:Android传感器—传感器查询demo

今天给大家带来一个篇安卓传感器查询的干货教程,五一出去旅游看人山人海,不如宅在家学技术!

在Android系统中提供有加速度、磁场、方向、陀螺仪、光线、压力、温度和接近等传感器。传感器系统会主动对上层报告传感器精度和数据的变化,并且提供了设置传感器精度的接口,这些接口可以在Java应用和Java框架下使用。本次,将要在Android studio下完成一个简单的Android手机传感器信息查询demo。

c28ff2010b92fe59b0bc3d567ea508ff.png

a472c4c19162af23d171cdc9c6bacb01.png

(传感器的API接口)

在此我列举几个,但不全部说明。

(1)TYPE_ACCELEROMETER:加速度传感器,单位是m/s²,测量用于设备x,y,z轴的加速度。绝大部分手机都有这个传感器。

(2)TYPE_AMBIENT_TEMPERATURE:温度传感器,单位是摄氏度,能够测量并返回当前的温度。

(3)TYPE_GRAVITY:重力传感器,单位是m/s²,用于测量设备x,y,z轴的重力,地球重力约为9.8m/s²。

(4)TYPE_GYROSCOPE:陀螺仪传感器,单位是rad/s²,能够测量设备X,Y,Z三轴的角加速度。

(5)TYPE_LIGHT:光线感应传感器,单位是lx,能够检测周围的光线强度,在手机中位于前面板,用于调节屏幕亮度。

(6)TYPE_LINEAR_ACCELERATION:线性加速度传感器,单位是m/s²,能够得到加速度传感器去除重力影响得到的数据。

(7)TYPE_MAGNETIC_FIFLD:磁场传感器,单位是微特斯拉,能够测量围绕三个物理轴的磁场。

(8)TYPE_ORIENTATION:方向传感器,用于测量设备围绕三个物理轴的旋转角度,在4.1之后被SensorManager。getOrientation()替代。

c0a7083e11b0b5ea4373c72fb459df28.png

(9)TYPE_PROXIMITY:距离传感器,单位是厘米,能够测量某个对象到屏幕的距离。可以在通话时判断人耳到设备的距离,达到省点的目的。而且口袋防误触功能,人脸识别技术与该传感器息息相关。

(10)TYPE_PRESSURE:气压传感器,单位是百帕斯卡,能够返回当前环境下的压强。

(11)TYPE_RELATIVE_HUMIDITY:湿度传感器,能够测量周围环境的相对湿度,一般很少有设备搭载该传感器。

(12)TYPE_ROTATION_VECTOR:旋转向量传感器,旋转矢量代表设备的方向,是一个将坐标轴和角度混合混合计算的得到的数据。

(13)TYPE_TEMPERATURE:温度传感器,被TYPE_AMBIENT_TEMPERATURE取代。

(14)TYPE_ALL:返回所有的传感器类型。

(15)TYPE_GAME_ROTATION_VECTOR:除了不能使用地磁场之外,和TYPE_ROTATION_VECTOR的功能相同。

(16)TYPE_GYROSCOPE_UNCALIBRATED:提供了能够让应用调整传感器的原始值,定义了一个未校准陀螺仪的传感器类型。

(17)TYPE_MAGNETIC _FIELD_UNCALIBRATED:和TYPE_GYROSCOPE_UNCALIBRATED相似,也提供了能够让应用调整传感器的原始值,定义了一个描述未校准陀螺仪的传感器类型。

(18)TYPE_SIGNIGICANT_MOTION:运动触发传感器,应用程序不需要为这种传感器触发任何唤醒锁,能够检测当前设备是否运动,并发送检测结果。

(19)TYPE_HEAR_RATE:心率传感器 ,检测用户的心率水平。

(20)TYPE_STAP_COUNTE:计步传感器用于检测用户的行走步数的传感器。

其他请到网站自行查询。

开始着手编程,本demo功能是检测当前设备支持的传感器。

布局文件activity_main.xml 代码如下所示:

d4d568916f9e8b83255ba33234bcc819.png

主程序文件MainActivity.java 的具体实现代码如下所示:

2e469f748c3b197ba4f893d25df59e70.png

2d13dfd53480516966ea15d893ca6a68.png

8564227bd4eea837e7abbbcce87924fa.png

完成代码后运行,效果如图:

2209efc913a3eafbb6a1894a3d100d4a.png

笔者在实例代码中写的传感器种类不全,可以自行修改让其识别更多传感器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值