Не работает функция onSensorChanged Kotlin
При попытке запуска кода выдает ошибку: E/SensorManager: Exception dispatching input event.
Код:
class MainActivity : AppCompatActivity(), SensorEventListener {
private lateinit var sensorManager: SensorManager
private lateinit var sensorGravity: Sensor
private lateinit var button: Button
private var flag1 = true
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initViews()
initSensors()
}
private fun initViews() {
button = findViewById(R.id.getLocation)
button.setOnClickListener {
if (flag1) {
registerListener()
button.text = "Stop"
} else {
unregisterListener()
button.text = "Start"
}
flag1 = !flag1
}
}
private fun initSensors() {
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
if (sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null) {
sensorGravity = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY)
}
}
private fun registerListener() {
if (sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null) {
sensorManager.registerListener(this, sensorGravity, SensorManager.SENSOR_DELAY_NORMAL)
}
}
private fun unregisterListener() {
sensorManager.unregisterListener(this, sensorGravity)
}
override fun onSensorChanged(event: SensorEvent?) {
println("ok")
}
override fun onAccuracyChanged(p0: Sensor?, p1: Int) {
TODO("Not yet implemented")
}
}
Подскажите что не так делаю
Ответы (1 шт):
Автор решения: Ilia Koliy
→ Ссылка
Надо было убрать подсказку в функции nAccuracyChanged То есть просто стереть надпись TODO("Not yet implemented")