Как сохранить показания датчика Sensor.TYPE_ORIENTATION по нажатию кнопки?
Не так давно стал изучать Kotlin и Android, поэтому полно вопросов.
Нужно реализовать следующее: 1. Сохранение по нажатию кнопки положение смартфона относительно оси Y 2. При изменении положения и следующему нажатию кнопки будет сохраняться положение №2 и вычисляться разница в градусах (для измерения угла).
Проблема в том, что величина динамическая и "выхватить" данные в момент нажатия кнопки не могу (не хватает знаний). Помогите, не могу найти ответ уже две недели.
Код следующий:
override fun onResume() {
super.onResume()
manager?.registerListener(this,manager?.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),SensorManager.SENSOR_DELAY_GAME)
/* или TYPE_ROTATION_VECTOR или TYPE_ORIENTATION как в старом компасе*/
}
override fun onPause() {
super.onPause()
manager?.unregisterListener(this)
}
override fun onAccuracyChanged(p0: Sensor?, p1: Int) {
}
fun onClickBack (view: View) {
finish()
}
override fun onSensorChanged(p0: SensorEvent?) {
val degree:Int = p0?.values?.get(0)?.toInt()!!
val mm = (Math.toDegrees(degree.toDouble())+360)%360
binding.tvResult.text = mm.toString()
Log.d("TAG", "rotateY: " + degree)
}
fun onClickSave (view: View) {
???
}