我正在嘗試使用 Kotlin 在 Android 應用程式上的文本視圖中顯示手機的線性加速度。我嘗試了很多東西,但我不明白為什么我的代碼不起作用。在一項活動中,我有
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)。從其他答案和檔案中看,我應該能夠看到改變其值的傳感器型別,在我的情況下,如果它是線性加速度傳感器,新值應該寫在我的文本視圖中。
因為一定有我不明白的地方,如果你們中的一些人能幫我看看代碼有什么問題,那就太好了。謝謝你。
uj5u.com熱心網友回復:
根據我的理解,每次手機具有的傳感器之一更新其值時,onSensorChanged() 都會被呼叫(當活動類擴展 SensorEventListener 時)。
您還需要呼叫registerListener()上SensorManager,提供您的監聽器和所需的傳感器。看:
- 該
SensorManager檔案 - 傳感器概述檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/312851.html
上一篇:即使在添加邊距后,recyclerView專案之間的空間也不顯示
下一篇:型別推斷失敗。MutableMap<Class<outAbsViewModel>,Provider<AbsViewModel>>
