Android中集成了一些传感器,加速度,陀螺仪,光线,电磁场,方向,压力,距离,温度等,利用这些传感器可以开发出有趣的应用。虽然不是所有的硬件厂商都支持这些传感器,但是常用传感器还是被支持的。通过SensorManager可以获得传感器的相关信息,获得SensorManager的代码如下:
SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
然后通过sm的一些方法可以获得传感器的信息:
List<Sensor> allSensors = sm.getSensorList(Sensor.TYPE_ALL);
通过对allSensors的遍历,可以查看不同传感器的具体信息。
for (Sensor s : allSensors) {
String tempString = "\n" + " 设备名称:" + s.getName() + "\n" + " 设备版本:" + s.getVersion() + "\n" + " 供应商:" + s.getVendor() + "\n";
switch (s.getType()) {
case Sensor.TYPE_ACCELEROMETER:
tx1.setText(tx1.getText().toString() + s.getType() + " 加速度传感器" + tempString);
break;
case Sensor.TYPE_GYROSCOPE:
tx1.setText(tx1.getText().toString() + s.getType() + " 陀螺仪传感器" + tempString);
break;
case Sensor.TYPE_LIGHT:
tx1.setText(tx1.getText().toString() + s.getType() + " 环境光线传感器" + tempString);
break;
case Sensor.TYPE_MAGNETIC_FIELD:
tx1.setText(tx1.getText().toString() + s.getType() + " 电磁场传感器" + tempString);
break;
case Sensor.TYPE_ORIENTATION:
tx1.setText(tx1.getText().toString() + s.getType() + " 方向传感器" + tempString);
break;
case Sensor.TYPE_PRESSURE:
tx1.setText(tx1.getText().toString() + s.getType() + " 压力传感器" + tempString);
break;
case Sensor.TYPE_PROXIMITY:
tx1.setText(tx1.getText().toString() + s.getType() + " 距离传感器" + tempString);
break;
case Sensor.TYPE_TEMPERATURE:
tx1.setText(tx1.getText().toString() + s.getType() + " 温度传感器" + tempString);
break;
default:
tx1.setText(tx1.getText().toString() + s.getType() + " 未知传感器" + tempString);
break;
}
}
本文介绍了Android系统中集成的多种传感器,包括加速度、陀螺仪、光线、电磁场、方向、压力、距离和温度传感器,并展示了如何通过SensorManager接口获取和利用这些传感器的信息来开发有趣的应用。
1527

被折叠的 条评论
为什么被折叠?



