Android传感器(六):光传感器

  • 采用之前建好的BaseActivity
  • 初始化传感器
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initSensor(this, Sensor.TYPE_LIGHT);
        tx2 = (TextView) findViewById(R.id.TextView02);
        setOnChangeListener(this);
    }
  • 处理传感器数据
@Override
    public void onSensorChanged2(SensorEvent event) {
        // TODO Auto-generated method stub
        if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
            long currentTime = System.currentTimeMillis();
            // 没100毫秒取一次距离
            if (currentTime - lastTime < 100)
                return;
            lastTime = currentTime;
            // 将values的值显示到屏幕上
            float[] values = event.values;
            // 只有x有值,随光强变强而变大
            // 光线感应器只需要values[0]的值,其他两个都为0.而values[0]就是我们开发光线感应器所需要的,单位是:lux照度单位
            String tempXYZ = "\n" + "  last_x:" + values[0] + "\n"
                    + "  last_y:" + values[1] + "\n" + "  last_z: " + values[2]
                    + "\n";

            tx2.setText(tempXYZ);
        }
    }

Demo下载:gingerbread
相关链接:我的Android开发相关文章

你可能感兴趣的:(android传感器)