'Wear OS collect sensor sampling rate problem

I am trying to collect sensor data from wear os. However, the sensor data sampling rate works differently when the screen is on/off. Is there any way to make it possible to receive sensor data even when the screen is off like when the screen is on?

private val mSensorEventListener = object : SensorEventListener {

    override fun onSensorChanged(event: SensorEvent?) {
        Timber.d("Sensor onSensorChanged in")
        if (event == null) return

        event.sensor?.let {
            when (it.type) {
                Sensor.TYPE_ACCELEROMETER -> {
                    Timber.d("Sensor onSensorChanged in Sensor.TYPE_ACCELEROMETER")
                    Timber.d("Sensor TYPE_ACCELEROMETER event:${event.values.size}")
                    Timber.d("Sensor TYPE_ACCELEROMETER event value:${event.values[0]}")
                }
                Sensor.TYPE_GYROSCOPE -> {
                    Timber.d("Sensor onSensorChanged in Sensor.TYPE_GYROSCOPE")
                    Timber.d("Sensor TYPE_GYROSCOPE event:${event.values.size}")
                    Timber.d("Sensor TYPE_GYROSCOPE event value:${event.values[0]}")
                }
                Sensor.TYPE_LIGHT -> {
                    Timber.d("Sensor onSensorChanged in Sensor.TYPE_LIGHT")
                    Timber.d("Sensor TYPE_LIGHT event:${event.values.size}")
                    Timber.d("Sensor TYPE_LIGHT event value:${event.values[0]}")
                }
                Sensor.TYPE_PRESSURE -> {
                    Timber.d("Sensor onSensorChanged in Sensor.TYPE_PRESSURE")
                    Timber.d("Sensor TYPE_PRESSURE event:${event.values.size}")
                    Timber.d("Sensor TYPE_PRESSURE event value:${event.values[0]}")
                }
                Sensor.TYPE_HEART_RATE -> {
                    Timber.d("Sensor onSensorChanged in TYPE_HEART_RATE")
                    Timber.d("Sensor TYPE_HEART_RATE event:${event.values.size}")
                    Timber.d("Sensor TYPE_HEART_RATE event:${event.values[0]}")
                }
                else -> {
                }
            }
        }

    }

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
        Timber.d("MainActivity GyroscopeListener onAccuracyChanged in")
    }

}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source