0

我需要在 Android 上使用光传感器,但是,我并不经常需要它。我只需要两秒钟一次。我只能在两秒钟内使用这些值,但它会更快地耗尽电池。我查看了文档,上面说,在注册时,延迟可以这样设置:

sensorManager.registerListener(lightEventListener, lightSensor, 1000000,1000000);

我不工作,它以超快的速度返回值。即使我在注册时输入了 1000000 值。

这是我的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        root = findViewById(R.id.root);
        sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
        sensorManager.registerListener(this, lightSensor, 1000000, 1000000);
        
        
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        sensorManager.unregisterListener(lightEventListener);
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        if(event.sensor.getType() == Sensor.TYPE_LIGHT)  {
            float value = event.values[0];
            getSupportActionBar().setTitle("Luminosity : " + value + " lx");
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
4

0 回答 0