我试图在Android应用程序上使用Kotlin显示手机的textview内的线性加速度。
的一个活动,我有
var sensorManager : SensorManager? = null
var lastUpdatedDate : Date? = null
然后,在onCreate()
方法中,我有
lastUpdatedDate = Date(System.currentTimeMillis())
sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
我的onSensorChanged()
方法如下:
@Override
override fun onSensorChanged(event: SensorEvent?) {
when (event?.sensor?.type) {
Sensor.TYPE_LINEAR_ACCELERATION -> {
timer_since_started_detecting.text = event.values[0].toString()
}
}
}
从我的理解,onSensorChanged()
被调用(当活动类扩展SensorEventListener
时)每次手机的一个传感器更新其值。
从其他答案和文档中,我应该能够看到传感器的类型改变了它的值,在我的情况下,如果它是线性加速度传感器,新的值应该写在我的textview内。
从我的理解,onSensorChanged()被调用(当活动类扩展SensorEventListener时)每次手机的传感器之一更新其值。
您还需要在SensorManager
上调用registerListener()
,提供您想要的侦听器和传感器。看到:
SensorManager
文档- 传感器概述文档