Android 传感器Sensor

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;
			}
		}

猜你喜欢

转载自wangleyiang.iteye.com/blog/1773174